Skip to content
  • Sunderlandkyl's avatar
    Fix Windows multitouch and MacOS trackpad gesture interactions · c654847d
    Sunderlandkyl authored
    Previously the touch interactions in Qt worked for touchpad on MacOS, but not on Windows touchscreens.
    This commit adds support for multi-touch gestures on Windows touchscreens and fixes some errors in MacOS trackpad gestures.
    
    List of gestures supported:
    - Tap
    - Tap And Hold
    - Pinch
    - Rotate
    - Pan
    - Swipe
    
    Added new example QVTKTouchscreenRenderWindows to demonstrate the use of gesture events in a QVTKOpenGLNativeWidget. See demonstration video here: https://youtu.be/fpnqsDmJ0Y8
    
    Implementation details:
    
    Modified QVTKInteractorAdapter to invoke events using widget local coordinates
    - Qt coordinates are inconsistent between gestures, and even within the same gesture on different platforms (Windows touchscreen vs MacOS touchpad)
    - VTK expects the invoked events to be in the local coordinate frame
    
    Updated vtkInteractorStyleMultiTouchCamera to utilize the updated events
    - Calls StartGesture() to switch interactor states when a Pinch/Rotate/Pan g...
    c654847d