From 7cd25bdadc9813ee693a5b4cabb87bbe3348b707 Mon Sep 17 00:00:00 2001 From: fgsfds Date: Tue, 18 Feb 2020 23:03:28 +0300 Subject: [PATCH] SDL2: set window position properly; always center when going fullscreen->windowed --- src/game/sdl2/g_system.pas | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/game/sdl2/g_system.pas b/src/game/sdl2/g_system.pas index 6fff48b..29a81b0 100644 --- a/src/game/sdl2/g_system.pas +++ b/src/game/sdl2/g_system.pas @@ -191,8 +191,12 @@ implementation end else begin + if fullScreen then flags := SDL_WINDOW_FULLSCREEN else flags := 0; + SDL_SetWindowFullscreen(window, flags); SDL_SetWindowSize(window, w, h); - if wc then + if maximized then SDL_MaximizeWindow(window); + // always reset to center when changing fullscreen->windowed for safety purposes + if wc or (gFullscreen and not fullscreen) or (gWinMaximized and not maximized) then begin x := SDL_WINDOWPOS_CENTERED; y := SDL_WINDOWPOS_CENTERED @@ -208,10 +212,6 @@ implementation SDL_GetWindowPosition(window, @x, @y); wx := x; wy := y end; - if maximized then - SDL_MaximizeWindow(window); - if fullScreen then flags := SDL_WINDOW_FULLSCREEN else flags := 0; - SDL_SetWindowFullscreen(window, flags); gFullScreen := fullscreen; gWinMaximized := maximized; gRC_FullScreen := fullscreen; -- 2.29.2