From 57688eb0c5d09f6149ae6a612c5b53a56e94c328 Mon Sep 17 00:00:00 2001 From: Andre Weissflog Date: Thu, 3 Jun 2021 20:58:02 +0200 Subject: sokol_app.h macos: fix inverted y mouse pos computation --- sokol_app.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sokol_app.h b/sokol_app.h index a74ae9b5..9ba82ee4 100644 --- a/sokol_app.h +++ b/sokol_app.h @@ -4068,9 +4068,10 @@ _SOKOL_PRIVATE void _sapp_macos_update_window_title(_sapp_window_t* win) { _SOKOL_PRIVATE void _sapp_macos_update_mouse(_sapp_window_t* win, NSEvent* event) { if (!win->mouse.locked) { + const NSRect content_rect = [win->macos.window contentRectForFrameRect:[win->macos.window frame]]; const NSPoint mouse_pos = event.locationInWindow; float new_x = mouse_pos.x * win->dpi_scale; - float new_y = win->framebuffer_height - (mouse_pos.y * win->dpi_scale) - 1; + float new_y = content_rect.size.height - (mouse_pos.y * win->dpi_scale) - 1; /* don't update dx/dy in the very first update */ if (win->mouse.pos_valid) { win->mouse.dx = new_x - win->mouse.x; -- cgit v1.2.3