From 81f9debf519c4b54e713a7a36a4ac474340d18fb Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 6 Jun 2020 19:32:03 +0200 Subject: Fix mouse position of events on high resolution MacOS --- pugl/detail/mac.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'pugl') diff --git a/pugl/detail/mac.m b/pugl/detail/mac.m index 501f5d9..da9de20 100644 --- a/pugl/detail/mac.m +++ b/pugl/detail/mac.m @@ -77,6 +77,14 @@ nsRectFromPoints(PuglView* view, const NSRect rect) rect.size.height * scaleFactor); } +static NSPoint +nsPointFromPoints(PuglView* view, const NSPoint point) +{ + const double scaleFactor = [viewScreen(view) backingScaleFactor]; + + return NSMakePoint(point.x * scaleFactor, point.y * scaleFactor); +} + static NSRect rectToNsRect(const PuglRect rect) { @@ -307,7 +315,9 @@ keySymToSpecial(const NSEvent* const ev) - (NSPoint) eventLocation:(NSEvent*)event { - return [self convertPoint:[event locationInWindow] fromView:nil]; + return nsPointFromPoints(puglview, + [self convertPoint:[event locationInWindow] + fromView:nil]); } static void -- cgit v1.2.1