From 1952628825ee526e4ae32170266f8eaa323a0e16 Mon Sep 17 00:00:00 2001 From: Mel Date: Thu, 3 Sep 2026 05:01:46 +0200 Subject: Support larger framebuffers of HiDPI displays Signed-off-by: Mel --- src/GFX/Window.cpp | 4 ++++ src/GFX/Window.hpp | 1 + src/Render.cpp | 4 +++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/GFX/Window.cpp b/src/GFX/Window.cpp index 75e7613..7d0f5b3 100644 --- a/src/GFX/Window.cpp +++ b/src/GFX/Window.cpp @@ -58,6 +58,10 @@ void Window::on_size_change(void (callback)(GLFWwindow*, I32, I32)) const { glfwSetFramebufferSizeCallback(m_window, callback); } +void Window::framebuffer_size(I32& width, I32& height) const { + glfwGetFramebufferSize(m_window, &width, &height); +} + void Window::attach() const { glfwMakeContextCurrent(m_window); } diff --git a/src/GFX/Window.hpp b/src/GFX/Window.hpp index 86920b5..99824b1 100644 --- a/src/GFX/Window.hpp +++ b/src/GFX/Window.hpp @@ -15,6 +15,7 @@ public: PURE GLFWwindow* get() const; void on_size_change(void (* callback)(GLFWwindow*, I32, I32)) const; + void framebuffer_size(I32& width, I32& height) const; void attach() const; void detach() const; diff --git a/src/Render.cpp b/src/Render.cpp index 1089ad4..5293e9c 100644 --- a/src/Render.cpp +++ b/src/Render.cpp @@ -21,7 +21,9 @@ void Render::run() { m_resources.initialize(); - glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); + I32 framebuffer_width, framebuffer_height; + m_window.framebuffer_size(framebuffer_width, framebuffer_height); + glViewport(0, 0, framebuffer_width, framebuffer_height); m_window.on_size_change([](GLFWwindow* _, I32 w, I32 h) { glViewport(0, 0, w, h); }); -- cgit v1.3.1