summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar lat9nq2022-03-15 04:28:08 -0400
committerGravatar lat9nq2022-03-15 04:33:08 -0400
commit50415f68a50307f9fd88d4cd4f843d1f116cca75 (patch)
treee73eeeaaa317cd8eae930f37bf7a43e20d975268
parentMerge pull request #8008 from ameerj/rescale-offsets-array (diff)
downloadyuzu-50415f68a50307f9fd88d4cd4f843d1f116cca75.tar.gz
yuzu-50415f68a50307f9fd88d4cd4f843d1f116cca75.tar.xz
yuzu-50415f68a50307f9fd88d4cd4f843d1f116cca75.zip
emu_window_sdl2: Set window size to display dimensions for exclusive fullscreen
Since SDL2 does not automatically resize the canvas when entering fullscreen mode, resize the window to desktop display dimensions.
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
index 57f807826..ae2e62dc5 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
@@ -123,14 +123,15 @@ void EmuWindow_SDL2::ShowCursor(bool show_cursor) {
123} 123}
124 124
125void EmuWindow_SDL2::Fullscreen() { 125void EmuWindow_SDL2::Fullscreen() {
126 SDL_DisplayMode display_mode;
126 switch (Settings::values.fullscreen_mode.GetValue()) { 127 switch (Settings::values.fullscreen_mode.GetValue()) {
127 case Settings::FullscreenMode::Exclusive: 128 case Settings::FullscreenMode::Exclusive:
128 // Set window size to render size before entering fullscreen -- SDL does not resize to 129 // Set window size to render size before entering fullscreen -- SDL2 does not resize window
129 // display dimensions in this mode. 130 // to display dimensions automatically in this mode.
130 // TODO: Multiply the window size by resolution_factor (for both docked modes) 131 if (SDL_GetDesktopDisplayMode(0, &display_mode) == 0) {
131 if (Settings::values.use_docked_mode) { 132 SDL_SetWindowSize(render_window, display_mode.w, display_mode.h);
132 SDL_SetWindowSize(render_window, Layout::ScreenDocked::Width, 133 } else {
133 Layout::ScreenDocked::Height); 134 LOG_ERROR(Frontend, "SDL_GetDesktopDisplayMode failed: {}", SDL_GetError());
134 } 135 }
135 136
136 if (SDL_SetWindowFullscreen(render_window, SDL_WINDOW_FULLSCREEN) == 0) { 137 if (SDL_SetWindowFullscreen(render_window, SDL_WINDOW_FULLSCREEN) == 0) {