From e58b18888c0e76a9ab8b0eeb16cdad9d9d9962cf Mon Sep 17 00:00:00 2001 From: Andrii Symkin Date: Wed, 6 Apr 2022 18:17:33 -0700 Subject: GHOST: Add support for precision touchpad gestures on Windows This patch adds support for precision touchpad gestures on Windows 8.1 and newer using Direct Manipulation API. Gestures work exactly like on macOS, with full support for pan/pinch and inertia. This works by creating a viewport with a fake scrollable which is reset after every gesture and converts any changes to the content's transform into GHOST trackpad events (as explained [here](https://bugzilla.mozilla.org/show_bug.cgi?id=890878)). The code is based on the implementation from the [Chromium project](https://chromium.googlesource.com/chromium/src/+/refs/heads/master/content/browser/renderer_host/direct_manipulation_helper_win.cc). Tested on Windows 10. Fixes {T70754}, {T69264}. Demo:{F8520272} Reviewed By: nicholas_rishel Differential Revision: https://developer.blender.org/D7660 --- intern/ghost/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'intern/ghost/CMakeLists.txt') diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt index 9421edecf12..dceb9ced803 100644 --- a/intern/ghost/CMakeLists.txt +++ b/intern/ghost/CMakeLists.txt @@ -376,6 +376,7 @@ elseif(WIN32) intern/GHOST_DisplayManagerWin32.cpp intern/GHOST_DropTargetWin32.cpp intern/GHOST_SystemWin32.cpp + intern/GHOST_TrackpadWin32.cpp intern/GHOST_WindowWin32.cpp intern/GHOST_Wintab.cpp @@ -384,6 +385,7 @@ elseif(WIN32) intern/GHOST_DropTargetWin32.h intern/GHOST_SystemWin32.h intern/GHOST_TaskbarWin32.h + intern/GHOST_TrackpadWin32.h intern/GHOST_WindowWin32.h intern/GHOST_Wintab.h ) -- cgit v1.2.3