summaryrefslogtreecommitdiff
path: root/src/platform.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-02 09:19:17 +0100
committerskal <pascal.massimino@gmail.com>2026-02-02 09:19:17 +0100
commit0b0067cb0a8db5ea5178501a12aacdef436a9845 (patch)
tree362322b45ffde32346351dfa0710d3a470dd6e88 /src/platform.h
parent275fe655fd7272edd9fa49439d47f449231ce445 (diff)
feat(platform): Fix high-DPI scaling and add resolution option
- Fixed a 'squished' viewport bug on high-DPI (Retina) displays by querying the framebuffer size in pixels instead of using the window size in points. - Centralized window dimension management within the platform layer. - Added a '--resolution WxH' command-line option to allow specifying a custom window size at startup. This option is stripped in STRIP_ALL builds. - Updated all test and tool executables to use the new platform API.
Diffstat (limited to 'src/platform.h')
-rw-r--r--src/platform.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/platform.h b/src/platform.h
index 9cfaf00..38a0568 100644
--- a/src/platform.h
+++ b/src/platform.h
@@ -6,16 +6,20 @@
#include <webgpu.h>
+// Forward declare GLFWwindow to avoid including the full header here.
struct GLFWwindow;
-void platform_init_window(bool fullscreen);
+void platform_init_window(bool fullscreen, int* width_ptr, int* height_ptr);
void platform_shutdown();
void platform_poll();
bool platform_should_close();
-void platform_toggle_fullscreen();
-
GLFWwindow* platform_get_window();
double platform_get_time();
+// Add dimension getters
+int platform_get_width();
+int platform_get_height();
+float platform_get_aspect_ratio();
+
WGPUSurface platform_create_wgpu_surface(WGPUInstance instance);