diff options
author | Theun de Bruijn <theun@theundebruijn.com> | 2023-07-06 20:10:15 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-06 12:10:15 +0200 |
commit | c19c8bbadea027e4f31a0739fac0f2a27fbe6dbf (patch) | |
tree | fbe6f52943b04febdad14be7934881502af8a4a2 /src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs | |
parent | 1c7a90ef359d9974e5bd257c4d8e9bf526a6966c (diff) |
Headless: Add support for fullscreen option (#5339)1.1.953
* Headless: Added support for fullscreen option
* Headless: cleanup of fullscreen support
* Headless: fullscreen support : implemented proposed changes
* Headless: fullscreen support: cleanup
* Headless: fullscreen support: fix for OpenGL scaling
* Headless: fullscreen support: cleanup
* Headless: fullscreen support: cleanup
* Headless: fullscreen support: add. macOS fullscreen fix
* Headless: fullscreen support: cleanup
* Headless: fullscreen support: cleanup
* Headless: fullscreen support: cleanup
Diffstat (limited to 'src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs')
-rw-r--r-- | src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs b/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs index 199f723e..355dcf6c 100644 --- a/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs +++ b/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs @@ -151,8 +151,22 @@ namespace Ryujinx.Headless.SDL2.OpenGL GL.Clear(ClearBufferMask.ColorBufferBit); SwapBuffers(); - Renderer?.Window.SetSize(DefaultWidth, DefaultHeight); - MouseDriver.SetClientSize(DefaultWidth, DefaultHeight); + if (IsFullscreen) + { + // NOTE: grabbing the main display's dimensions directly as OpenGL doesn't scale along like the VulkanWindow. + // we might have to amend this if people run this on a non-primary display set to a different resolution. + SDL_Rect displayBounds; + SDL_GetDisplayBounds(0, out displayBounds); + + Renderer?.Window.SetSize(displayBounds.w, displayBounds.h); + MouseDriver.SetClientSize(displayBounds.w, displayBounds.h); + } + + else + { + Renderer?.Window.SetSize(DefaultWidth, DefaultHeight); + MouseDriver.SetClientSize(DefaultWidth, DefaultHeight); + } } protected override void InitializeRenderer() { } |