private void Initialize() { if (SDL.Init((uint)InitFlags.SDL_INIT_VIDEO) != 0) { throw new InvalidOperationException("Failed to init SDL"); } // TODO: enable mouse input _window = SDLVideo.CreateWindow("Hello World!", 30, 30, ScreenWidth, ScreenHeight, (uint)(WindowFlags.WINDOW_SHOWN | WindowFlags.WINDOW_RESIZABLE)); if (_window == null) { SDL.Quit(); throw new InvalidOperationException("Failed to create window"); } _renderer = SDLRender.CreateRenderer(_window, -1, (uint)(RendererFlags.RENDERER_ACCELERATED)); if (_renderer == null) { SDL.Quit(); throw new InvalidOperationException("Failed to create renderer"); } this.OnInitialize(); }