diff options
| author | 2022-03-15 04:28:08 -0400 | |
|---|---|---|
| committer | 2022-03-15 04:33:08 -0400 | |
| commit | 50415f68a50307f9fd88d4cd4f843d1f116cca75 (patch) | |
| tree | e73eeeaaa317cd8eae930f37bf7a43e20d975268 | |
| parent | Merge pull request #8008 from ameerj/rescale-offsets-array (diff) | |
| download | yuzu-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.cpp | 13 |
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 | ||
| 125 | void EmuWindow_SDL2::Fullscreen() { | 125 | void 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) { |