aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs
diff options
context:
space:
mode:
authorTheun de Bruijn <theun@theundebruijn.com>2023-07-06 20:10:15 +1000
committerGitHub <noreply@github.com>2023-07-06 12:10:15 +0200
commitc19c8bbadea027e4f31a0739fac0f2a27fbe6dbf (patch)
treefbe6f52943b04febdad14be7934881502af8a4a2 /src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs
parent1c7a90ef359d9974e5bd257c4d8e9bf526a6966c (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.cs18
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() { }