[Bf-blender-cvs] [f7069d71aae] master: Trackpad: Fix wrong scroll deltas on Retina

Yevgeny Makarov noreply at git.blender.org
Fri Dec 11 17:31:08 CET 2020


Commit: f7069d71aae32ce8db3a3b541395a51c9ba5f7c5
Author: Yevgeny Makarov
Date:   Fri Dec 11 08:28:56 2020 -0800
Branches: master
https://developer.blender.org/rBf7069d71aae32ce8db3a3b541395a51c9ba5f7c5

Trackpad: Fix wrong scroll deltas on Retina

Scale Mac trackpad scrolling changes by pixel size of output device.

Differential Revision: https://developer.blender.org/D9723

Reviewed by Brecht Van Lommel

===================================================================

M	intern/ghost/intern/GHOST_SystemCocoa.mm

===================================================================

diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index d5b8311349b..6ec6bc78d45 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -1730,13 +1730,14 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
         }
         window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
 
+        NSPoint delta = [[cocoawindow contentView] convertPointToBacking:NSMakePoint(dx, dy)];
         pushEvent(new GHOST_EventTrackpad([event timestamp] * 1000,
                                           window,
                                           GHOST_kTrackpadEventScroll,
                                           x,
                                           y,
-                                          dx,
-                                          dy,
+                                          delta.x,
+                                          delta.y,
                                           [event isDirectionInvertedFromDevice]));
       }
     } break;



More information about the Bf-blender-cvs mailing list