X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftools.c;h=eefc5cb6152368a04e4f2c29877827c56983c99c;hb=610e1570ca2492a97cfc5cf6a3794c07b605df48;hp=bd71d0c5a3f275e71a3397a7b8f9fd0d4166d989;hpb=36cfa0205e5a618c59e2e24c1c6650597a59ddca;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index bd71d0c5..eefc5cb6 100644 --- a/src/tools.c +++ b/src/tools.c @@ -8990,11 +8990,19 @@ void ToggleFullscreenIfNeeded() boolean change_fullscreen_mode = (video.fullscreen_enabled && !strEqual(setup.fullscreen_mode, video.fullscreen_mode_current)); + boolean change_window_scaling_percent = (!video.fullscreen_enabled && + setup.window_scaling_percent != + video.window_scaling_percent); - if (!video.fullscreen_available) + if (change_window_scaling_percent && video.fullscreen_enabled) return; - if (change_fullscreen || change_fullscreen_mode) + if (!change_window_scaling_percent && !video.fullscreen_available) + return; + + if (change_fullscreen || + change_fullscreen_mode || + change_window_scaling_percent) { Bitmap *tmp_backbuffer = CreateBitmap(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH); @@ -9007,9 +9015,16 @@ void ToggleFullscreenIfNeeded() video.fullscreen_enabled = FALSE; /* force new fullscreen mode */ } + if (change_window_scaling_percent) + { + /* keep window mode, but change window scaling */ + video.fullscreen_enabled = TRUE; /* force new window scaling */ + } + /* toggle fullscreen */ ChangeVideoModeIfNeeded(setup.fullscreen); + /* set setup value according to successfully enabled fullscreen mode */ setup.fullscreen = video.fullscreen_enabled; /* restore backbuffer content from temporary backbuffer backup bitmap */