mirror of https://github.com/encounter/SDL.git
SDL_SetWindowDisplayMode(): If already fullscreen, adjust window size
Otherwise only the display resolution is changed, but the SDL window size (and for example the window-surface size) aren't adjusted accordingly and thus don't fill the whole screen. See #3313
This commit is contained in:
parent
72d8128520
commit
0eb6f79190
|
@ -1163,6 +1163,12 @@ SDL_SetWindowDisplayMode(SDL_Window * window, const SDL_DisplayMode * mode)
|
||||||
SDL_DisplayMode fullscreen_mode;
|
SDL_DisplayMode fullscreen_mode;
|
||||||
if (SDL_GetWindowDisplayMode(window, &fullscreen_mode) == 0) {
|
if (SDL_GetWindowDisplayMode(window, &fullscreen_mode) == 0) {
|
||||||
SDL_SetDisplayModeForDisplay(SDL_GetDisplayForWindow(window), &fullscreen_mode);
|
SDL_SetDisplayModeForDisplay(SDL_GetDisplayForWindow(window), &fullscreen_mode);
|
||||||
|
/* make sure the window size (and internals like window-surface size) are adjusted */
|
||||||
|
if (window->w != fullscreen_mode.w || window->h != fullscreen_mode.h) {
|
||||||
|
window->w = fullscreen_mode.w;
|
||||||
|
window->h = fullscreen_mode.h;
|
||||||
|
SDL_OnWindowResized(window);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue