public SdlMainWindow(ILogger logger, IConfigService configService) { _logger = logger; _windowWidth = configService.GetWritableConfig("Window", "Width", 1024); _windowHeight = configService.GetWritableConfig("Window", "Height", 768); _windowWidth.Changed += OnWindowSizeConfigChanged; _windowHeight.Changed += OnWindowSizeConfigChanged; _logger.Info("Creating window and renderer with size {0}x{1}", _windowWidth.Value, _windowHeight.Value); if (SDL_CreateWindowAndRenderer(_windowWidth.Value, _windowHeight.Value, SDL_WindowFlags.SDL_WINDOW_RESIZABLE, out _window, out _renderer) < 0) { var error = SDL_GetError(); _logger.Fatal("Failed to create window. SDL Error: {0}", error); throw new Exception($"Failed to create SDL window. {error}"); } SDL_SetWindowTitle(_window, "OpenAOE"); }
private void OnWindowSizeConfigChanged(IWriteableConfig <int> sender, ConfigChangedEvent <int> args) { _refreshWindow = true; }