From 74cb846a3adc374d86400b792d30f93cf35e234e Mon Sep 17 00:00:00 2001 From: kub Date: Fri, 4 Mar 2022 19:37:27 +0000 Subject: [PATCH] add basic fullscreen support to SDL window mode --- plat_sdl.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plat_sdl.c b/plat_sdl.c index 61e39c1..77bffe6 100644 --- a/plat_sdl.c +++ b/plat_sdl.c @@ -121,15 +121,26 @@ int plat_sdl_change_video_mode(int w, int h, int force) } if (plat_target.vout_method == 0) { - SDL_PumpEvents(); + Uint32 flags; + int win_w = window_w; + int win_h = window_h; #if defined SDL_SURFACE_SW - plat_sdl_screen = SDL_SetVideoMode(w, h, 16, SDL_SWSURFACE); + flags = SDL_SWSURFACE; #elif defined(SDL_TRIPLEBUF) && defined(SDL_BUFFER_3X) - plat_sdl_screen = SDL_SetVideoMode(w, h, 16, SDL_HWSURFACE | SDL_TRIPLEBUF); + flags = SDL_HWSURFACE | SDL_TRIPLEBUF; #else - plat_sdl_screen = SDL_SetVideoMode(w, h, 16, SDL_HWSURFACE | SDL_DOUBLEBUF); + flags = SDL_HWSURFACE | SDL_DOUBLEBUF; #endif + if (plat_target.vout_fullscreen && fs_w && fs_h) { + flags |= SDL_FULLSCREEN; + win_w = fs_w; + win_h = fs_h; + } + + SDL_PumpEvents(); + + plat_sdl_screen = SDL_SetVideoMode(win_w, win_h, 16, flags); if (plat_sdl_screen == NULL) { fprintf(stderr, "SDL_SetVideoMode failed: %s\n", SDL_GetError()); return -1; -- 2.39.2