Merge pull request #8027 from lat9nq/cmd-fullscreen-size

emu_window_sdl2: Set window size to display dimensions for exclusive fullscreen
This commit is contained in:
bunnei 2022-04-13 18:43:47 -07:00 committed by GitHub
commit 46da380b57
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -123,14 +123,15 @@ void EmuWindow_SDL2::ShowCursor(bool show_cursor) {
} }
void EmuWindow_SDL2::Fullscreen() { void EmuWindow_SDL2::Fullscreen() {
SDL_DisplayMode display_mode;
switch (Settings::values.fullscreen_mode.GetValue()) { switch (Settings::values.fullscreen_mode.GetValue()) {
case Settings::FullscreenMode::Exclusive: case Settings::FullscreenMode::Exclusive:
// Set window size to render size before entering fullscreen -- SDL does not resize to // Set window size to render size before entering fullscreen -- SDL2 does not resize window
// display dimensions in this mode. // to display dimensions automatically in this mode.
// TODO: Multiply the window size by resolution_factor (for both docked modes) if (SDL_GetDesktopDisplayMode(0, &display_mode) == 0) {
if (Settings::values.use_docked_mode) { SDL_SetWindowSize(render_window, display_mode.w, display_mode.h);
SDL_SetWindowSize(render_window, Layout::ScreenDocked::Width, } else {
Layout::ScreenDocked::Height); LOG_ERROR(Frontend, "SDL_GetDesktopDisplayMode failed: {}", SDL_GetError());
} }
if (SDL_SetWindowFullscreen(render_window, SDL_WINDOW_FULLSCREEN) == 0) { if (SDL_SetWindowFullscreen(render_window, SDL_WINDOW_FULLSCREEN) == 0) {