@react-native-oh-tpl/react-native-gesture-handler 2.12.1-0.0.1 → 2.12.6-2
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -62
- package/{LICENSE → harmony/gesture_handler/LICENSE} +21 -21
- package/harmony/gesture_handler/OAT.xml +44 -0
- package/harmony/gesture_handler/README.OpenSource +11 -0
- package/harmony/gesture_handler/README.md +1 -0
- package/harmony/gesture_handler/build-profile.json5 +8 -0
- package/harmony/gesture_handler/hvigorfile.ts +2 -0
- package/harmony/gesture_handler/index.ets +3 -0
- package/harmony/gesture_handler/oh-package.json5 +13 -0
- package/harmony/gesture_handler/src/main/cpp/CMakeLists.txt +8 -0
- package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.cpp +34 -0
- package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.h +15 -0
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonComponentDescriptor.h +60 -0
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.cpp +17 -0
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.h +12 -0
- package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewComponentDescriptor.h +60 -0
- package/{src/web/tools → harmony/gesture_handler/src/main/ets}/CircularBuffer.ts +42 -42
- package/harmony/gesture_handler/src/main/ets/Event.ts +68 -0
- package/harmony/gesture_handler/src/main/ets/EventDispatcher.ts +38 -0
- package/harmony/gesture_handler/src/main/ets/GestureHandler.ts +663 -0
- package/harmony/gesture_handler/src/main/ets/GestureHandlerArkUIAdapter.ets +202 -0
- package/harmony/gesture_handler/src/main/ets/GestureHandlerFactory.ts +45 -0
- package/harmony/gesture_handler/src/main/ets/GestureHandlerOrchestrator.ts +280 -0
- package/harmony/gesture_handler/src/main/ets/GestureHandlerPackage.ts +22 -0
- package/harmony/gesture_handler/src/main/ets/GestureHandlerRegistry.ts +28 -0
- package/{src/web/tools → harmony/gesture_handler/src/main/ets}/InteractionManager.ts +109 -130
- package/{src/web/tools → harmony/gesture_handler/src/main/ets}/LeastSquareSolver.ts +182 -182
- package/harmony/gesture_handler/src/main/ets/NativeViewGestureHandler.ts +115 -0
- package/harmony/gesture_handler/src/main/ets/OutgoingEvent.ts +34 -0
- package/harmony/gesture_handler/src/main/ets/PanGestureHandler.ts +328 -0
- package/{src/web/tools → harmony/gesture_handler/src/main/ets}/PointerTracker.ts +239 -240
- package/harmony/gesture_handler/src/main/ets/RNGHError.ts +5 -0
- package/harmony/gesture_handler/src/main/ets/RNGHLogger.ts +29 -0
- package/harmony/gesture_handler/src/main/ets/RNGHRootTouchHandler.ets +58 -0
- package/harmony/gesture_handler/src/main/ets/RNGestureHandlerButton.ets +37 -0
- package/harmony/gesture_handler/src/main/ets/RNGestureHandlerModule.ts +125 -0
- package/harmony/gesture_handler/src/main/ets/RNGestureHandlerRootView.ets +57 -0
- package/harmony/gesture_handler/src/main/ets/RNOHScrollLocker.ts +11 -0
- package/harmony/gesture_handler/src/main/ets/State.ts +47 -0
- package/harmony/gesture_handler/src/main/ets/TapGestureHandler.ts +206 -0
- package/harmony/gesture_handler/src/main/ets/Vector2D.ts +36 -0
- package/{src/web/tools → harmony/gesture_handler/src/main/ets}/VelocityTracker.ts +98 -98
- package/harmony/gesture_handler/src/main/ets/View.ts +71 -0
- package/harmony/gesture_handler/src/main/ets/ViewRegistry.ts +43 -0
- package/harmony/gesture_handler/src/main/ets/pages/Index.ets +17 -0
- package/harmony/gesture_handler/src/main/ets/webviewability/WebviewAbility.ts +41 -0
- package/harmony/gesture_handler/src/main/module.json5 +7 -0
- package/harmony/gesture_handler/src/main/resources/base/element/color.json +8 -0
- package/harmony/gesture_handler/src/main/resources/base/element/string.json +16 -0
- package/harmony/gesture_handler/src/main/resources/base/media/icon.png +0 -0
- package/harmony/gesture_handler/src/main/resources/base/profile/main_pages.json +5 -0
- package/harmony/gesture_handler/src/main/resources/en_US/element/string.json +16 -0
- package/harmony/gesture_handler/src/main/resources/zh_CN/element/string.json +16 -0
- package/harmony/gesture_handler/ts.ts +1 -0
- package/harmony/gesture_handler.har +0 -0
- package/lib/commonjs/RNGestureHandlerModule.js +2 -22
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +88 -142
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerButton.js +2 -7
- package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +13 -13
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/RNGestureHandlerButton.js +23 -0
- package/lib/commonjs/components/RNGestureHandlerButton.js.map +1 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js +103 -145
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +34 -53
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +4 -12
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/index.js +2 -21
- package/lib/commonjs/components/touchables/index.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +6 -14
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +12 -32
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +6 -11
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +141 -223
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/createNativeWrapper.js +22 -32
- package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +6 -87
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector.js +111 -226
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/commonjs/index.js +168 -211
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +7 -15
- package/lib/commonjs/init.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +2 -18
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/components/GestureButtons.js +83 -121
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js +2 -2
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +11 -3
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/RNGestureHandlerButton.js +17 -0
- package/lib/module/components/RNGestureHandlerButton.js.map +1 -0
- package/lib/module/components/touchables/GenericTouchable.js +98 -133
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +29 -43
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +1 -2
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/components/touchables/index.js +5 -2
- package/lib/module/components/touchables/index.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +6 -21
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +2 -1
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +140 -196
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/createNativeWrapper.js +17 -22
- package/lib/module/handlers/createNativeWrapper.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +5 -71
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector.js +99 -175
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/module/index.js +160 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +6 -5
- package/lib/module/init.js.map +1 -1
- package/lib/typescript/RNGestureHandlerModule.d.ts +7 -13
- package/lib/typescript/RNGestureHandlerModule.d.ts.map +1 -0
- package/lib/typescript/components/GestureButtons.d.ts +122 -121
- package/lib/typescript/components/GestureButtons.d.ts.map +1 -0
- package/lib/typescript/components/GestureHandlerButton.d.ts +5 -4
- package/lib/typescript/components/GestureHandlerButton.d.ts.map +1 -0
- package/lib/typescript/components/GestureHandlerRootView.d.ts +7 -6
- package/lib/typescript/components/GestureHandlerRootView.d.ts.map +1 -0
- package/lib/typescript/components/RNGestureHandlerButton.d.ts +2 -0
- package/lib/typescript/components/RNGestureHandlerButton.d.ts.map +1 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +68 -68
- package/lib/typescript/components/touchables/GenericTouchable.d.ts.map +1 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +26 -25
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts.map +1 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +8 -7
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts.map +1 -0
- package/lib/typescript/components/touchables/index.d.ts +4 -7
- package/lib/typescript/components/touchables/index.d.ts.map +1 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +29 -28
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts.map +1 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +140 -139
- package/lib/typescript/handlers/PanGestureHandler.d.ts.map +1 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +58 -57
- package/lib/typescript/handlers/TapGestureHandler.d.ts.map +1 -0
- package/lib/typescript/handlers/createHandler.d.ts +12 -11
- package/lib/typescript/handlers/createHandler.d.ts.map +1 -0
- package/lib/typescript/handlers/createNativeWrapper.d.ts +4 -3
- package/lib/typescript/handlers/createNativeWrapper.d.ts.map +1 -0
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +2 -68
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts.map +1 -0
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +24 -19
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +9 -52
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/init.d.ts +3 -2
- package/lib/typescript/init.d.ts.map +1 -0
- package/package.json +70 -156
- package/src/RNGestureHandlerModule.ts +6 -50
- package/src/components/GestureButtons.tsx +334 -332
- package/src/components/GestureHandlerButton.tsx +5 -5
- package/src/components/GestureHandlerRootView.tsx +34 -23
- package/src/components/RNGestureHandlerButton.tsx +23 -0
- package/src/components/touchables/GenericTouchable.tsx +301 -301
- package/src/components/touchables/TouchableOpacity.tsx +76 -75
- package/src/components/touchables/TouchableWithoutFeedback.tsx +14 -14
- package/src/components/touchables/index.ts +7 -7
- package/src/handlers/NativeViewGestureHandler.ts +55 -55
- package/src/handlers/PanGestureHandler.ts +327 -325
- package/src/handlers/TapGestureHandler.ts +95 -94
- package/src/handlers/createHandler.tsx +535 -533
- package/src/handlers/createNativeWrapper.tsx +81 -80
- package/src/handlers/gestureHandlerCommon.ts +15 -250
- package/src/handlers/gestures/GestureDetector.tsx +823 -822
- package/src/index.ts +172 -174
- package/src/init.ts +18 -18
- package/DrawerLayout/package.json +0 -6
- package/RNGestureHandler.podspec +0 -44
- package/Swipeable/package.json +0 -6
- package/android/build.gradle +0 -209
- package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +0 -5
- package/android/fabric/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java +0 -29
- package/android/fabric/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +0 -12
- package/android/gradle.properties +0 -19
- package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +0 -10
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +0 -50
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +0 -23
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +0 -25
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +0 -16
- package/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +0 -13
- package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +0 -17
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +0 -21
- package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +0 -100
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +0 -807
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerInteractionController.kt +0 -8
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +0 -671
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerRegistry.kt +0 -8
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +0 -47
- package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +0 -120
- package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +0 -100
- package/android/src/main/java/com/swmansion/gesturehandler/core/ManualGestureHandler.kt +0 -11
- package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +0 -257
- package/android/src/main/java/com/swmansion/gesturehandler/core/OnTouchEventListener.kt +0 -9
- package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +0 -322
- package/android/src/main/java/com/swmansion/gesturehandler/core/PinchGestureHandler.kt +0 -103
- package/android/src/main/java/com/swmansion/gesturehandler/core/PointerEventsConfig.kt +0 -23
- package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureDetector.kt +0 -125
- package/android/src/main/java/com/swmansion/gesturehandler/core/RotationGestureHandler.kt +0 -93
- package/android/src/main/java/com/swmansion/gesturehandler/core/ScaleGestureDetector.java +0 -558
- package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +0 -168
- package/android/src/main/java/com/swmansion/gesturehandler/core/ViewConfigurationHelper.kt +0 -10
- package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +0 -16
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +0 -423
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +0 -15
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +0 -75
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +0 -74
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +0 -702
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +0 -100
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +0 -142
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +0 -5
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -78
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +0 -51
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +0 -78
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +0 -69
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +0 -51
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/FlingGestureHandlerEventDataBuilder.kt +0 -30
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +0 -22
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/HoverGestureHandlerEventDataBuilder.kt +0 -30
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/LongPressGestureHandlerEventDataBuilder.kt +0 -33
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/ManualGestureHandlerEventDataBuilder.kt +0 -5
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/NativeGestureHandlerEventDataBuilder.kt +0 -18
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PanGestureHandlerEventDataBuilder.kt +0 -42
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/PinchGestureHandlerEventDataBuilder.kt +0 -30
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/RotationGestureHandlerEventDataBuilder.kt +0 -30
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/TapGestureHandlerEventDataBuilder.kt +0 -30
- package/android/src/main/jni/CMakeLists.txt +0 -37
- package/android/src/main/jni/cpp-adapter.cpp +0 -44
- package/ios/Handlers/RNFlingHandler.h +0 -4
- package/ios/Handlers/RNFlingHandler.m +0 -152
- package/ios/Handlers/RNForceTouchHandler.h +0 -4
- package/ios/Handlers/RNForceTouchHandler.m +0 -175
- package/ios/Handlers/RNHoverHandler.h +0 -12
- package/ios/Handlers/RNHoverHandler.m +0 -153
- package/ios/Handlers/RNLongPressHandler.h +0 -12
- package/ios/Handlers/RNLongPressHandler.m +0 -183
- package/ios/Handlers/RNManualHandler.h +0 -4
- package/ios/Handlers/RNManualHandler.m +0 -88
- package/ios/Handlers/RNNativeViewHandler.h +0 -15
- package/ios/Handlers/RNNativeViewHandler.mm +0 -193
- package/ios/Handlers/RNPanHandler.h +0 -12
- package/ios/Handlers/RNPanHandler.m +0 -331
- package/ios/Handlers/RNPinchHandler.h +0 -12
- package/ios/Handlers/RNPinchHandler.m +0 -95
- package/ios/Handlers/RNRotationHandler.h +0 -12
- package/ios/Handlers/RNRotationHandler.m +0 -93
- package/ios/Handlers/RNTapHandler.h +0 -12
- package/ios/Handlers/RNTapHandler.m +0 -265
- package/ios/RNGHTouchEventType.h +0 -9
- package/ios/RNGestureHandler.h +0 -90
- package/ios/RNGestureHandler.m +0 -493
- package/ios/RNGestureHandler.xcodeproj/project.pbxproj +0 -690
- package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/RNGestureHandlerActionType.h +0 -10
- package/ios/RNGestureHandlerButton.h +0 -19
- package/ios/RNGestureHandlerButton.m +0 -77
- package/ios/RNGestureHandlerButtonComponentView.h +0 -17
- package/ios/RNGestureHandlerButtonComponentView.mm +0 -64
- package/ios/RNGestureHandlerButtonManager.h +0 -5
- package/ios/RNGestureHandlerButtonManager.m +0 -34
- package/ios/RNGestureHandlerDirection.h +0 -8
- package/ios/RNGestureHandlerEvents.h +0 -65
- package/ios/RNGestureHandlerEvents.m +0 -260
- package/ios/RNGestureHandlerManager.h +0 -35
- package/ios/RNGestureHandlerManager.mm +0 -367
- package/ios/RNGestureHandlerModule.h +0 -7
- package/ios/RNGestureHandlerModule.mm +0 -320
- package/ios/RNGestureHandlerPointerTracker.h +0 -25
- package/ios/RNGestureHandlerPointerTracker.m +0 -243
- package/ios/RNGestureHandlerRegistry.h +0 -21
- package/ios/RNGestureHandlerRegistry.m +0 -63
- package/ios/RNGestureHandlerRootViewComponentView.mm +0 -21
- package/ios/RNGestureHandlerState.h +0 -10
- package/ios/RNGestureHandlerStateManager.h +0 -5
- package/ios/RNManualActivationRecognizer.h +0 -10
- package/ios/RNManualActivationRecognizer.m +0 -88
- package/ios/RNRootViewGestureRecognizer.h +0 -17
- package/ios/RNRootViewGestureRecognizer.m +0 -106
- package/jest-utils/package.json +0 -6
- package/jestSetup.js +0 -7
- package/lib/commonjs/ActionType.js +0 -15
- package/lib/commonjs/ActionType.js.map +0 -1
- package/lib/commonjs/Directions.js +0 -15
- package/lib/commonjs/Directions.js.map +0 -1
- package/lib/commonjs/EnableNewWebImplementation.js +0 -35
- package/lib/commonjs/EnableNewWebImplementation.js.map +0 -1
- package/lib/commonjs/GestureHandlerRootViewContext.js +0 -15
- package/lib/commonjs/GestureHandlerRootViewContext.js.map +0 -1
- package/lib/commonjs/PlatformConstants.js +0 -15
- package/lib/commonjs/PlatformConstants.js.map +0 -1
- package/lib/commonjs/PlatformConstants.web.js +0 -14
- package/lib/commonjs/PlatformConstants.web.js.map +0 -1
- package/lib/commonjs/RNGestureHandlerModule.macos.js +0 -149
- package/lib/commonjs/RNGestureHandlerModule.macos.js.map +0 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +0 -163
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +0 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -158
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +0 -1
- package/lib/commonjs/RNRenderer.js +0 -16
- package/lib/commonjs/RNRenderer.js.map +0 -1
- package/lib/commonjs/RNRenderer.web.js +0 -11
- package/lib/commonjs/RNRenderer.web.js.map +0 -1
- package/lib/commonjs/State.js +0 -18
- package/lib/commonjs/State.js.map +0 -1
- package/lib/commonjs/TouchEventType.js +0 -16
- package/lib/commonjs/TouchEventType.js.map +0 -1
- package/lib/commonjs/components/DrawerLayout.js +0 -566
- package/lib/commonjs/components/DrawerLayout.js.map +0 -1
- package/lib/commonjs/components/GestureComponents.js +0 -115
- package/lib/commonjs/components/GestureComponents.js.map +0 -1
- package/lib/commonjs/components/GestureComponents.web.js +0 -52
- package/lib/commonjs/components/GestureComponents.web.js.map +0 -1
- package/lib/commonjs/components/GestureHandlerButton.web.js +0 -24
- package/lib/commonjs/components/GestureHandlerButton.web.js.map +0 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -31
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +0 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -25
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +0 -1
- package/lib/commonjs/components/Swipeable.js +0 -408
- package/lib/commonjs/components/Swipeable.js.map +0 -1
- package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -40
- package/lib/commonjs/components/gestureHandlerRootHOC.js.map +0 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -109
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +0 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -100
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +0 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -12
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +0 -1
- package/lib/commonjs/getReactNativeVersion.js +0 -22
- package/lib/commonjs/getReactNativeVersion.js.map +0 -1
- package/lib/commonjs/getReactNativeVersion.web.js +0 -11
- package/lib/commonjs/getReactNativeVersion.web.js.map +0 -1
- package/lib/commonjs/getShadowNodeFromRef.js +0 -27
- package/lib/commonjs/getShadowNodeFromRef.js.map +0 -1
- package/lib/commonjs/getShadowNodeFromRef.web.js +0 -15
- package/lib/commonjs/getShadowNodeFromRef.web.js.map +0 -1
- package/lib/commonjs/ghQueueMicrotask.js +0 -12
- package/lib/commonjs/ghQueueMicrotask.js.map +0 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +0 -25
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +0 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -49
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +0 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -27
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +0 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +0 -23
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.js +0 -14
- package/lib/commonjs/handlers/PressabilityDebugView.js.map +0 -1
- package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -12
- package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +0 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +0 -23
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +0 -1
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
- package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +0 -1
- package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -147
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +0 -1
- package/lib/commonjs/handlers/gestures/flingGesture.js +0 -34
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -65
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/gesture.js +0 -241
- package/lib/commonjs/handlers/gestures/gesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -105
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +0 -1
- package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -90
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +0 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -65
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +0 -1
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -32
- package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +0 -1
- package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -74
- package/lib/commonjs/handlers/gestures/hoverGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -35
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/manualGesture.js +0 -31
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/panGesture.js +0 -149
- package/lib/commonjs/handlers/gestures/panGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -45
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -37
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +0 -1
- package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -45
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +0 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +0 -60
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +0 -1
- package/lib/commonjs/handlers/handlersRegistry.js +0 -67
- package/lib/commonjs/handlers/handlersRegistry.js.map +0 -1
- package/lib/commonjs/jestUtils/index.js +0 -20
- package/lib/commonjs/jestUtils/index.js.map +0 -1
- package/lib/commonjs/jestUtils/jestUtils.js +0 -375
- package/lib/commonjs/jestUtils/jestUtils.js.map +0 -1
- package/lib/commonjs/mocks.js +0 -66
- package/lib/commonjs/mocks.js.map +0 -1
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +0 -15
- package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +0 -1
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +0 -15
- package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +0 -1
- package/lib/commonjs/typeUtils.js +0 -2
- package/lib/commonjs/typeUtils.js.map +0 -1
- package/lib/commonjs/utils.js +0 -63
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/commonjs/web/constants.js +0 -16
- package/lib/commonjs/web/constants.js.map +0 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -165
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +0 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -156
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +0 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -167
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +0 -794
- package/lib/commonjs/web/handlers/GestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -62
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -151
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -61
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -178
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -448
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -174
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -186
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +0 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -280
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +0 -1
- package/lib/commonjs/web/interfaces.js +0 -55
- package/lib/commonjs/web/interfaces.js.map +0 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +0 -59
- package/lib/commonjs/web/tools/CircularBuffer.js.map +0 -1
- package/lib/commonjs/web/tools/EventManager.js +0 -127
- package/lib/commonjs/web/tools/EventManager.js.map +0 -1
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
- package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +0 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -349
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +0 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -118
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +0 -1
- package/lib/commonjs/web/tools/InteractionManager.js +0 -114
- package/lib/commonjs/web/tools/InteractionManager.js.map +0 -1
- package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -204
- package/lib/commonjs/web/tools/LeastSquareSolver.js.map +0 -1
- package/lib/commonjs/web/tools/NodeManager.js +0 -48
- package/lib/commonjs/web/tools/NodeManager.js.map +0 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +0 -198
- package/lib/commonjs/web/tools/PointerEventManager.js.map +0 -1
- package/lib/commonjs/web/tools/PointerTracker.js +0 -226
- package/lib/commonjs/web/tools/PointerTracker.js.map +0 -1
- package/lib/commonjs/web/tools/TouchEventManager.js +0 -138
- package/lib/commonjs/web/tools/TouchEventManager.js.map +0 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +0 -111
- package/lib/commonjs/web/tools/VelocityTracker.js.map +0 -1
- package/lib/commonjs/web/utils.js +0 -15
- package/lib/commonjs/web/utils.js.map +0 -1
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -105
- package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -53
- package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/Errors.js +0 -16
- package/lib/commonjs/web_hammer/Errors.js.map +0 -1
- package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -170
- package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/GestureHandler.js +0 -579
- package/lib/commonjs/web_hammer/GestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -54
- package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -71
- package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -66
- package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/NodeManager.js +0 -46
- package/lib/commonjs/web_hammer/NodeManager.js.map +0 -1
- package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -208
- package/lib/commonjs/web_hammer/PanGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -40
- package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -188
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -44
- package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -192
- package/lib/commonjs/web_hammer/TapGestureHandler.js.map +0 -1
- package/lib/commonjs/web_hammer/constants.js +0 -64
- package/lib/commonjs/web_hammer/constants.js.map +0 -1
- package/lib/commonjs/web_hammer/utils.js +0 -42
- package/lib/commonjs/web_hammer/utils.js.map +0 -1
- package/lib/module/ActionType.js +0 -7
- package/lib/module/ActionType.js.map +0 -1
- package/lib/module/Directions.js +0 -7
- package/lib/module/Directions.js.map +0 -1
- package/lib/module/EnableNewWebImplementation.js +0 -22
- package/lib/module/EnableNewWebImplementation.js.map +0 -1
- package/lib/module/GestureHandlerRootViewContext.js +0 -3
- package/lib/module/GestureHandlerRootViewContext.js.map +0 -1
- package/lib/module/PlatformConstants.js +0 -5
- package/lib/module/PlatformConstants.js.map +0 -1
- package/lib/module/PlatformConstants.web.js +0 -7
- package/lib/module/PlatformConstants.web.js.map +0 -1
- package/lib/module/RNGestureHandlerModule.macos.js +0 -110
- package/lib/module/RNGestureHandlerModule.macos.js.map +0 -1
- package/lib/module/RNGestureHandlerModule.web.js +0 -122
- package/lib/module/RNGestureHandlerModule.web.js.map +0 -1
- package/lib/module/RNGestureHandlerModule.windows.js +0 -118
- package/lib/module/RNGestureHandlerModule.windows.js.map +0 -1
- package/lib/module/RNRenderer.js +0 -4
- package/lib/module/RNRenderer.js.map +0 -1
- package/lib/module/RNRenderer.web.js +0 -4
- package/lib/module/RNRenderer.web.js.map +0 -1
- package/lib/module/State.js +0 -10
- package/lib/module/State.js.map +0 -1
- package/lib/module/TouchEventType.js +0 -8
- package/lib/module/TouchEventType.js.map +0 -1
- package/lib/module/components/DrawerLayout.js +0 -551
- package/lib/module/components/DrawerLayout.js.map +0 -1
- package/lib/module/components/GestureComponents.js +0 -90
- package/lib/module/components/GestureComponents.js.map +0 -1
- package/lib/module/components/GestureComponents.web.js +0 -28
- package/lib/module/components/GestureComponents.web.js.map +0 -1
- package/lib/module/components/GestureHandlerButton.web.js +0 -9
- package/lib/module/components/GestureHandlerButton.web.js.map +0 -1
- package/lib/module/components/GestureHandlerRootView.android.js +0 -14
- package/lib/module/components/GestureHandlerRootView.android.js.map +0 -1
- package/lib/module/components/GestureHandlerRootView.web.js +0 -9
- package/lib/module/components/GestureHandlerRootView.web.js.map +0 -1
- package/lib/module/components/Swipeable.js +0 -390
- package/lib/module/components/Swipeable.js.map +0 -1
- package/lib/module/components/gestureHandlerRootHOC.js +0 -22
- package/lib/module/components/gestureHandlerRootHOC.js.map +0 -1
- package/lib/module/components/touchables/TouchableHighlight.js +0 -95
- package/lib/module/components/touchables/TouchableHighlight.js.map +0 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -84
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +0 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -3
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +0 -1
- package/lib/module/getReactNativeVersion.js +0 -10
- package/lib/module/getReactNativeVersion.js.map +0 -1
- package/lib/module/getReactNativeVersion.web.js +0 -4
- package/lib/module/getReactNativeVersion.web.js.map +0 -1
- package/lib/module/getShadowNodeFromRef.js +0 -20
- package/lib/module/getShadowNodeFromRef.js.map +0 -1
- package/lib/module/getShadowNodeFromRef.web.js +0 -8
- package/lib/module/getShadowNodeFromRef.web.js.map +0 -1
- package/lib/module/ghQueueMicrotask.js +0 -5
- package/lib/module/ghQueueMicrotask.js.map +0 -1
- package/lib/module/handlers/FlingGestureHandler.js +0 -11
- package/lib/module/handlers/FlingGestureHandler.js.map +0 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +0 -31
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +0 -1
- package/lib/module/handlers/LongPressGestureHandler.js +0 -13
- package/lib/module/handlers/LongPressGestureHandler.js.map +0 -1
- package/lib/module/handlers/PinchGestureHandler.js +0 -10
- package/lib/module/handlers/PinchGestureHandler.js.map +0 -1
- package/lib/module/handlers/PressabilityDebugView.js +0 -3
- package/lib/module/handlers/PressabilityDebugView.js.map +0 -1
- package/lib/module/handlers/PressabilityDebugView.web.js +0 -5
- package/lib/module/handlers/PressabilityDebugView.web.js.map +0 -1
- package/lib/module/handlers/RotationGestureHandler.js +0 -10
- package/lib/module/handlers/RotationGestureHandler.js.map +0 -1
- package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -2
- package/lib/module/handlers/gestureHandlerTypesCompat.js.map +0 -1
- package/lib/module/handlers/gestures/eventReceiver.js +0 -131
- package/lib/module/handlers/gestures/eventReceiver.js.map +0 -1
- package/lib/module/handlers/gestures/flingGesture.js +0 -24
- package/lib/module/handlers/gestures/flingGesture.js.map +0 -1
- package/lib/module/handlers/gestures/forceTouchGesture.js +0 -56
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +0 -1
- package/lib/module/handlers/gestures/gesture.js +0 -222
- package/lib/module/handlers/gestures/gesture.js.map +0 -1
- package/lib/module/handlers/gestures/gestureComposition.js +0 -90
- package/lib/module/handlers/gestures/gestureComposition.js.map +0 -1
- package/lib/module/handlers/gestures/gestureObjects.js +0 -71
- package/lib/module/handlers/gestures/gestureObjects.js.map +0 -1
- package/lib/module/handlers/gestures/gestureStateManager.js +0 -54
- package/lib/module/handlers/gestures/gestureStateManager.js.map +0 -1
- package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -21
- package/lib/module/handlers/gestures/gestureStateManager.web.js.map +0 -1
- package/lib/module/handlers/gestures/hoverGesture.js +0 -62
- package/lib/module/handlers/gestures/hoverGesture.js.map +0 -1
- package/lib/module/handlers/gestures/longPressGesture.js +0 -25
- package/lib/module/handlers/gestures/longPressGesture.js.map +0 -1
- package/lib/module/handlers/gestures/manualGesture.js +0 -22
- package/lib/module/handlers/gestures/manualGesture.js.map +0 -1
- package/lib/module/handlers/gestures/nativeGesture.js +0 -24
- package/lib/module/handlers/gestures/nativeGesture.js.map +0 -1
- package/lib/module/handlers/gestures/panGesture.js +0 -140
- package/lib/module/handlers/gestures/panGesture.js.map +0 -1
- package/lib/module/handlers/gestures/pinchGesture.js +0 -36
- package/lib/module/handlers/gestures/pinchGesture.js.map +0 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -30
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +0 -1
- package/lib/module/handlers/gestures/rotationGesture.js +0 -36
- package/lib/module/handlers/gestures/rotationGesture.js.map +0 -1
- package/lib/module/handlers/gestures/tapGesture.js +0 -50
- package/lib/module/handlers/gestures/tapGesture.js.map +0 -1
- package/lib/module/handlers/handlersRegistry.js +0 -44
- package/lib/module/handlers/handlersRegistry.js.map +0 -1
- package/lib/module/jestUtils/index.js +0 -2
- package/lib/module/jestUtils/index.js.map +0 -1
- package/lib/module/jestUtils/jestUtils.js +0 -350
- package/lib/module/jestUtils/jestUtils.js.map +0 -1
- package/lib/module/mocks.js +0 -56
- package/lib/module/mocks.js.map +0 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +0 -3
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +0 -1
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +0 -3
- package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +0 -1
- package/lib/module/typeUtils.js +0 -2
- package/lib/module/typeUtils.js.map +0 -1
- package/lib/module/utils.js +0 -44
- package/lib/module/utils.js.map +0 -1
- package/lib/module/web/constants.js +0 -8
- package/lib/module/web/constants.js.map +0 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +0 -155
- package/lib/module/web/detectors/RotationGestureDetector.js.map +0 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +0 -145
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +0 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +0 -152
- package/lib/module/web/handlers/FlingGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/GestureHandler.js +0 -776
- package/lib/module/web/handlers/GestureHandler.js.map +0 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +0 -47
- package/lib/module/web/handlers/HoverGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +0 -136
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +0 -49
- package/lib/module/web/handlers/ManualGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -163
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/PanGestureHandler.js +0 -433
- package/lib/module/web/handlers/PanGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +0 -159
- package/lib/module/web/handlers/PinchGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +0 -171
- package/lib/module/web/handlers/RotationGestureHandler.js.map +0 -1
- package/lib/module/web/handlers/TapGestureHandler.js +0 -265
- package/lib/module/web/handlers/TapGestureHandler.js.map +0 -1
- package/lib/module/web/interfaces.js +0 -45
- package/lib/module/web/interfaces.js.map +0 -1
- package/lib/module/web/tools/CircularBuffer.js +0 -50
- package/lib/module/web/tools/CircularBuffer.js.map +0 -1
- package/lib/module/web/tools/EventManager.js +0 -118
- package/lib/module/web/tools/EventManager.js.map +0 -1
- package/lib/module/web/tools/GestureHandlerDelegate.js +0 -2
- package/lib/module/web/tools/GestureHandlerDelegate.js.map +0 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -335
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +0 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -102
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +0 -1
- package/lib/module/web/tools/InteractionManager.js +0 -105
- package/lib/module/web/tools/InteractionManager.js.map +0 -1
- package/lib/module/web/tools/LeastSquareSolver.js +0 -195
- package/lib/module/web/tools/LeastSquareSolver.js.map +0 -1
- package/lib/module/web/tools/NodeManager.js +0 -39
- package/lib/module/web/tools/NodeManager.js.map +0 -1
- package/lib/module/web/tools/PointerEventManager.js +0 -184
- package/lib/module/web/tools/PointerEventManager.js.map +0 -1
- package/lib/module/web/tools/PointerTracker.js +0 -213
- package/lib/module/web/tools/PointerTracker.js.map +0 -1
- package/lib/module/web/tools/TouchEventManager.js +0 -124
- package/lib/module/web/tools/TouchEventManager.js.map +0 -1
- package/lib/module/web/tools/VelocityTracker.js +0 -98
- package/lib/module/web/tools/VelocityTracker.js.map +0 -1
- package/lib/module/web/utils.js +0 -8
- package/lib/module/web/utils.js.map +0 -1
- package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -94
- package/lib/module/web_hammer/DiscreteGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/DraggingGestureHandler.js +0 -40
- package/lib/module/web_hammer/DraggingGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/Errors.js +0 -7
- package/lib/module/web_hammer/Errors.js.map +0 -1
- package/lib/module/web_hammer/FlingGestureHandler.js +0 -156
- package/lib/module/web_hammer/FlingGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/GestureHandler.js +0 -563
- package/lib/module/web_hammer/GestureHandler.js.map +0 -1
- package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -44
- package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/LongPressGestureHandler.js +0 -58
- package/lib/module/web_hammer/LongPressGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -49
- package/lib/module/web_hammer/NativeViewGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/NodeManager.js +0 -33
- package/lib/module/web_hammer/NodeManager.js.map +0 -1
- package/lib/module/web_hammer/PanGestureHandler.js +0 -194
- package/lib/module/web_hammer/PanGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/PinchGestureHandler.js +0 -29
- package/lib/module/web_hammer/PinchGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/PressGestureHandler.js +0 -174
- package/lib/module/web_hammer/PressGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/RotationGestureHandler.js +0 -32
- package/lib/module/web_hammer/RotationGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/TapGestureHandler.js +0 -180
- package/lib/module/web_hammer/TapGestureHandler.js.map +0 -1
- package/lib/module/web_hammer/constants.js +0 -43
- package/lib/module/web_hammer/constants.js.map +0 -1
- package/lib/module/web_hammer/utils.js +0 -19
- package/lib/module/web_hammer/utils.js.map +0 -1
- package/lib/typescript/ActionType.d.ts +0 -7
- package/lib/typescript/Directions.d.ts +0 -7
- package/lib/typescript/EnableNewWebImplementation.d.ts +0 -3
- package/lib/typescript/GestureHandlerRootViewContext.d.ts +0 -3
- package/lib/typescript/PlatformConstants.d.ts +0 -5
- package/lib/typescript/PlatformConstants.web.d.ts +0 -4
- package/lib/typescript/RNGestureHandlerModule.macos.d.ts +0 -47
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -50
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +0 -48
- package/lib/typescript/RNRenderer.d.ts +0 -1
- package/lib/typescript/RNRenderer.web.d.ts +0 -3
- package/lib/typescript/State.d.ts +0 -9
- package/lib/typescript/TouchEventType.d.ts +0 -8
- package/lib/typescript/components/DrawerLayout.d.ts +0 -148
- package/lib/typescript/components/GestureComponents.d.ts +0 -22
- package/lib/typescript/components/GestureComponents.web.d.ts +0 -8
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -4
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +0 -6
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +0 -6
- package/lib/typescript/components/Swipeable.d.ts +0 -178
- package/lib/typescript/components/gestureHandlerRootHOC.d.ts +0 -3
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +0 -36
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +0 -45
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +0 -2
- package/lib/typescript/getReactNativeVersion.d.ts +0 -4
- package/lib/typescript/getReactNativeVersion.web.d.ts +0 -1
- package/lib/typescript/getShadowNodeFromRef.d.ts +0 -1
- package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
- package/lib/typescript/ghQueueMicrotask.d.ts +0 -1
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +0 -34
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +0 -44
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +0 -56
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +0 -29
- package/lib/typescript/handlers/PressabilityDebugView.d.ts +0 -1
- package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +0 -29
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +0 -42
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +0 -4
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +0 -9
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +0 -15
- package/lib/typescript/handlers/gestures/gesture.d.ts +0 -110
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +0 -21
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +0 -41
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +0 -9
- package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +0 -4
- package/lib/typescript/handlers/gestures/hoverGesture.d.ts +0 -32
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +0 -9
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +0 -7
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +0 -9
- package/lib/typescript/handlers/gestures/panGesture.d.ts +0 -26
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +0 -11
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +0 -14
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +0 -12
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +0 -14
- package/lib/typescript/handlers/handlersRegistry.d.ts +0 -14
- package/lib/typescript/jestUtils/index.d.ts +0 -1
- package/lib/typescript/jestUtils/jestUtils.d.ts +0 -28
- package/lib/typescript/mocks.d.ts +0 -44
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +0 -14
- package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +0 -6
- package/lib/typescript/typeUtils.d.ts +0 -1
- package/lib/typescript/utils.d.ts +0 -8
- package/lib/typescript/web/constants.d.ts +0 -7
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +0 -30
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +0 -29
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -27
- package/lib/typescript/web/handlers/GestureHandler.d.ts +0 -90
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +0 -10
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +0 -26
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +0 -12
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -24
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +0 -55
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +0 -28
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +0 -29
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +0 -39
- package/lib/typescript/web/interfaces.d.ts +0 -141
- package/lib/typescript/web/tools/CircularBuffer.d.ts +0 -11
- package/lib/typescript/web/tools/EventManager.d.ts +0 -34
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +0 -22
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +0 -29
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +0 -21
- package/lib/typescript/web/tools/InteractionManager.d.ts +0 -17
- package/lib/typescript/web/tools/LeastSquareSolver.d.ts +0 -12
- package/lib/typescript/web/tools/NodeManager.d.ts +0 -11
- package/lib/typescript/web/tools/PointerEventManager.d.ts +0 -8
- package/lib/typescript/web/tools/PointerTracker.d.ts +0 -53
- package/lib/typescript/web/tools/TouchEventManager.d.ts +0 -6
- package/lib/typescript/web/tools/VelocityTracker.d.ts +0 -13
- package/lib/typescript/web/utils.d.ts +0 -4
- package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +0 -20
- package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +0 -15
- package/lib/typescript/web_hammer/Errors.d.ts +0 -3
- package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +0 -43
- package/lib/typescript/web_hammer/GestureHandler.d.ts +0 -145
- package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +0 -40
- package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +0 -38
- package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +0 -7
- package/lib/typescript/web_hammer/NodeManager.d.ts +0 -8
- package/lib/typescript/web_hammer/PanGestureHandler.d.ts +0 -56
- package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +0 -13
- package/lib/typescript/web_hammer/PressGestureHandler.d.ts +0 -83
- package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +0 -13
- package/lib/typescript/web_hammer/TapGestureHandler.d.ts +0 -57
- package/lib/typescript/web_hammer/constants.d.ts +0 -39
- package/lib/typescript/web_hammer/utils.d.ts +0 -9
- package/src/ActionType.ts +0 -9
- package/src/Directions.ts +0 -9
- package/src/EnableNewWebImplementation.ts +0 -35
- package/src/GestureHandlerRootViewContext.ts +0 -3
- package/src/PlatformConstants.ts +0 -8
- package/src/PlatformConstants.web.ts +0 -5
- package/src/RNGestureHandlerModule.macos.ts +0 -133
- package/src/RNGestureHandlerModule.web.ts +0 -146
- package/src/RNGestureHandlerModule.windows.ts +0 -144
- package/src/RNRenderer.ts +0 -3
- package/src/RNRenderer.web.ts +0 -3
- package/src/State.ts +0 -13
- package/src/TouchEventType.ts +0 -10
- package/src/components/DrawerLayout.tsx +0 -743
- package/src/components/GestureComponents.tsx +0 -148
- package/src/components/GestureComponents.web.tsx +0 -41
- package/src/components/GestureHandlerButton.web.tsx +0 -6
- package/src/components/GestureHandlerRootView.android.tsx +0 -24
- package/src/components/GestureHandlerRootView.web.tsx +0 -17
- package/src/components/Swipeable.tsx +0 -584
- package/src/components/gestureHandlerRootHOC.tsx +0 -32
- package/src/components/touchables/TouchableHighlight.tsx +0 -115
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -91
- package/src/components/touchables/TouchableNativeFeedback.tsx +0 -3
- package/src/getReactNativeVersion.ts +0 -11
- package/src/getReactNativeVersion.web.ts +0 -3
- package/src/getShadowNodeFromRef.ts +0 -22
- package/src/getShadowNodeFromRef.web.ts +0 -7
- package/src/ghQueueMicrotask.ts +0 -5
- package/src/handlers/FlingGestureHandler.ts +0 -59
- package/src/handlers/ForceTouchGestureHandler.ts +0 -90
- package/src/handlers/LongPressGestureHandler.ts +0 -88
- package/src/handlers/PinchGestureHandler.ts +0 -48
- package/src/handlers/PressabilityDebugView.tsx +0 -2
- package/src/handlers/PressabilityDebugView.web.tsx +0 -4
- package/src/handlers/RotationGestureHandler.ts +0 -48
- package/src/handlers/gestureHandlerTypesCompat.ts +0 -106
- package/src/handlers/gestures/eventReceiver.ts +0 -155
- package/src/handlers/gestures/flingGesture.ts +0 -27
- package/src/handlers/gestures/forceTouchGesture.ts +0 -74
- package/src/handlers/gestures/gesture.ts +0 -349
- package/src/handlers/gestures/gestureComposition.ts +0 -122
- package/src/handlers/gestures/gestureObjects.ts +0 -84
- package/src/handlers/gestures/gestureStateManager.ts +0 -62
- package/src/handlers/gestures/gestureStateManager.web.ts +0 -24
- package/src/handlers/gestures/hoverGesture.ts +0 -83
- package/src/handlers/gestures/longPressGesture.ts +0 -28
- package/src/handlers/gestures/manualGesture.ts +0 -31
- package/src/handlers/gestures/nativeGesture.ts +0 -27
- package/src/handlers/gestures/panGesture.ts +0 -152
- package/src/handlers/gestures/pinchGesture.ts +0 -51
- package/src/handlers/gestures/reanimatedWrapper.ts +0 -56
- package/src/handlers/gestures/rotationGesture.ts +0 -51
- package/src/handlers/gestures/tapGesture.ts +0 -53
- package/src/handlers/handlersRegistry.ts +0 -60
- package/src/jestUtils/index.ts +0 -1
- package/src/jestUtils/jestUtils.ts +0 -505
- package/src/mocks.ts +0 -67
- package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -18
- package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -6
- package/src/typeUtils.ts +0 -1
- package/src/utils.ts +0 -54
- package/src/web/constants.ts +0 -8
- package/src/web/detectors/RotationGestureDetector.ts +0 -168
- package/src/web/detectors/ScaleGestureDetector.ts +0 -172
- package/src/web/handlers/FlingGestureHandler.ts +0 -161
- package/src/web/handlers/GestureHandler.ts +0 -849
- package/src/web/handlers/HoverGestureHandler.ts +0 -43
- package/src/web/handlers/LongPressGestureHandler.ts +0 -125
- package/src/web/handlers/ManualGestureHandler.ts +0 -43
- package/src/web/handlers/NativeViewGestureHandler.ts +0 -167
- package/src/web/handlers/PanGestureHandler.ts +0 -485
- package/src/web/handlers/PinchGestureHandler.ts +0 -158
- package/src/web/handlers/RotationGestureHandler.ts +0 -172
- package/src/web/handlers/TapGestureHandler.ts +0 -273
- package/src/web/interfaces.ts +0 -167
- package/src/web/tools/EventManager.ts +0 -104
- package/src/web/tools/GestureHandlerDelegate.ts +0 -23
- package/src/web/tools/GestureHandlerOrchestrator.ts +0 -389
- package/src/web/tools/GestureHandlerWebDelegate.ts +0 -115
- package/src/web/tools/NodeManager.ts +0 -43
- package/src/web/tools/PointerEventManager.ts +0 -202
- package/src/web/tools/TouchEventManager.ts +0 -167
- package/src/web/utils.ts +0 -8
- package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
- package/src/web_hammer/DraggingGestureHandler.ts +0 -34
- package/src/web_hammer/Errors.ts +0 -7
- package/src/web_hammer/FlingGestureHandler.ts +0 -134
- package/src/web_hammer/GestureHandler.ts +0 -599
- package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
- package/src/web_hammer/LongPressGestureHandler.ts +0 -56
- package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
- package/src/web_hammer/NodeManager.ts +0 -42
- package/src/web_hammer/PanGestureHandler.ts +0 -226
- package/src/web_hammer/PinchGestureHandler.ts +0 -25
- package/src/web_hammer/PressGestureHandler.ts +0 -167
- package/src/web_hammer/RotationGestureHandler.ts +0 -25
- package/src/web_hammer/TapGestureHandler.ts +0 -172
- package/src/web_hammer/constants.ts +0 -48
- package/src/web_hammer/utils.ts +0 -24
@@ -0,0 +1,125 @@
|
|
1
|
+
import { TurboModule, TurboModuleContext } from 'rnoh/ts';
|
2
|
+
import { GestureHandlerRegistry } from './GestureHandlerRegistry';
|
3
|
+
import { GestureHandlerFactory } from "./GestureHandlerFactory"
|
4
|
+
import { ViewRegistry } from './ViewRegistry';
|
5
|
+
import { RNGHLogger, StandardRNGHLogger, FakeRNGHLogger } from './RNGHLogger';
|
6
|
+
import { EventDispatcher, JSEventDispatcher, AnimatedEventDispatcher } from './EventDispatcher'
|
7
|
+
import { RNOHScrollLocker } from "./RNOHScrollLocker"
|
8
|
+
|
9
|
+
export enum ActionType {
|
10
|
+
REANIMATED_WORKLET = 1,
|
11
|
+
NATIVE_ANIMATED_EVENT = 2,
|
12
|
+
JS_FUNCTION_OLD_API = 3,
|
13
|
+
JS_FUNCTION_NEW_API = 4,
|
14
|
+
}
|
15
|
+
|
16
|
+
|
17
|
+
export class RNGestureHandlerModule extends TurboModule {
|
18
|
+
static NAME = "RNGestureHandlerModule"
|
19
|
+
|
20
|
+
private gestureHandlerRegistry = new GestureHandlerRegistry()
|
21
|
+
private gestureHandlerFactory: GestureHandlerFactory | undefined = undefined
|
22
|
+
private viewRegistry: ViewRegistry | undefined = undefined
|
23
|
+
private logger: RNGHLogger
|
24
|
+
|
25
|
+
constructor(ctx: TurboModuleContext) {
|
26
|
+
super(ctx)
|
27
|
+
const debug = false
|
28
|
+
this.logger = debug ? new StandardRNGHLogger(ctx.logger, "RNGH") : new FakeRNGHLogger()
|
29
|
+
}
|
30
|
+
|
31
|
+
public install() {
|
32
|
+
this.viewRegistry = new ViewRegistry(this.ctx.descriptorRegistry, this.ctx.componentManagerRegistry)
|
33
|
+
this.gestureHandlerFactory = new GestureHandlerFactory(this.logger, new RNOHScrollLocker(this.ctx.rnInstance))
|
34
|
+
}
|
35
|
+
|
36
|
+
public createGestureHandler(
|
37
|
+
handlerName: string,
|
38
|
+
handlerTag: number,
|
39
|
+
config: Readonly<Record<string, unknown>>
|
40
|
+
) {
|
41
|
+
if (!this.gestureHandlerFactory) {
|
42
|
+
this.ctx.logger.error("Trying to create a gesture handler before creating gesture handler factory")
|
43
|
+
return
|
44
|
+
}
|
45
|
+
const gestureHandler = this.gestureHandlerFactory.create(handlerName, handlerTag)
|
46
|
+
this.gestureHandlerRegistry.addGestureHandler(gestureHandler)
|
47
|
+
gestureHandler.updateGestureConfig(config)
|
48
|
+
}
|
49
|
+
|
50
|
+
public attachGestureHandler(
|
51
|
+
handlerTag: number,
|
52
|
+
viewTag: number,
|
53
|
+
actionType: ActionType
|
54
|
+
) {
|
55
|
+
const eventDispatcher = this.createEventDispatcher(actionType, viewTag)
|
56
|
+
if (!eventDispatcher) {
|
57
|
+
this.ctx.logger.error("RNGH: Couldn't create EventDispatcher")
|
58
|
+
return
|
59
|
+
}
|
60
|
+
const view = this.viewRegistry.getViewByTag(viewTag)
|
61
|
+
if (!view) {
|
62
|
+
this.ctx.logger.error(`RNGH: Couldn't attachGestureHandler to view ${viewTag}`)
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
this.gestureHandlerRegistry.bindGestureHandlerWithView(handlerTag, view)
|
66
|
+
this.gestureHandlerRegistry
|
67
|
+
.getGestureHandlerByHandlerTag(handlerTag)
|
68
|
+
.setEventDispatcher(eventDispatcher)
|
69
|
+
}
|
70
|
+
|
71
|
+
private createEventDispatcher(actionType: ActionType, viewTag: number): EventDispatcher | null {
|
72
|
+
switch (actionType) {
|
73
|
+
case ActionType.REANIMATED_WORKLET:
|
74
|
+
this.ctx.logger.error("RNGH: Reanimated Worklets are not supported")
|
75
|
+
break;
|
76
|
+
case ActionType.NATIVE_ANIMATED_EVENT:
|
77
|
+
return new AnimatedEventDispatcher(this.ctx.rnInstance, this.logger.cloneWithPrefix('AnimatedEventDispatcher'), viewTag)
|
78
|
+
case ActionType.JS_FUNCTION_OLD_API:
|
79
|
+
case ActionType.JS_FUNCTION_NEW_API:
|
80
|
+
return new JSEventDispatcher(this.ctx.rnInstance, this.logger.cloneWithPrefix('JSEventDispatcher'));
|
81
|
+
}
|
82
|
+
return null
|
83
|
+
}
|
84
|
+
|
85
|
+
public updateGestureHandler(
|
86
|
+
handlerTag: number,
|
87
|
+
newConfig: Readonly<Record<string, unknown>>
|
88
|
+
) {
|
89
|
+
const gestureHandler = this.gestureHandlerRegistry.getGestureHandlerByHandlerTag(handlerTag)
|
90
|
+
gestureHandler.updateGestureConfig(newConfig)
|
91
|
+
}
|
92
|
+
|
93
|
+
public dropGestureHandler(handlerTag: number) {
|
94
|
+
this.warn("dropGestureHandler is not implemented")
|
95
|
+
}
|
96
|
+
|
97
|
+
public handleSetJSResponder(tag: number, blockNativeResponder: boolean) {
|
98
|
+
this.warn("handleSetJSResponder is not implemented")
|
99
|
+
}
|
100
|
+
|
101
|
+
public handleClearJSResponder() {
|
102
|
+
this.warn("handleClearJSResponder is not implemented")
|
103
|
+
}
|
104
|
+
|
105
|
+
public flushOperations() {
|
106
|
+
this.warn("flushOperations is not implemented")
|
107
|
+
}
|
108
|
+
|
109
|
+
// -------------------------------------------------------------------------------------------------------------------
|
110
|
+
protected warn(message: string) {
|
111
|
+
this.ctx.logger.warn("RNGH: " + message)
|
112
|
+
}
|
113
|
+
|
114
|
+
public getGestureHandlerRegistry() {
|
115
|
+
return this.gestureHandlerRegistry
|
116
|
+
}
|
117
|
+
|
118
|
+
public getLogger() {
|
119
|
+
return this.logger
|
120
|
+
}
|
121
|
+
|
122
|
+
public getViewRegistry() {
|
123
|
+
return this.viewRegistry
|
124
|
+
}
|
125
|
+
}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { Descriptor, RNOHContext, RNViewBase, ComponentBuilderContext, RNComponentFactory, Tag } from "rnoh"
|
2
|
+
import { RNGHRootTouchHandler } from "./RNGHRootTouchHandler"
|
3
|
+
import { RNGestureHandlerModule } from "./RNGestureHandlerModule"
|
4
|
+
import { Vector2D } from "./Vector2D"
|
5
|
+
import { ViewRegistry } from './ViewRegistry'
|
6
|
+
|
7
|
+
export type RNGestureHandlerRootViewDescriptor = Descriptor<"RNGestureHandlerRootView">
|
8
|
+
|
9
|
+
@Component
|
10
|
+
export struct RNGestureHandlerRootView {
|
11
|
+
/**
|
12
|
+
* @deprecated: Use RNGestureHandlerRootView.NAME instead
|
13
|
+
*/
|
14
|
+
static readonly DESCRIPTOR_TYPE = "RNGestureHandlerRootView"
|
15
|
+
static readonly NAME = "RNGestureHandlerRootView"
|
16
|
+
ctx!: RNOHContext
|
17
|
+
tag: number = -1
|
18
|
+
@BuilderParam buildCustomComponent: (componentBuilderContext: ComponentBuilderContext) => void
|
19
|
+
@State descriptor: RNGestureHandlerRootViewDescriptor = {} as RNGestureHandlerRootViewDescriptor
|
20
|
+
private unsubscribes: (() => void)[] = []
|
21
|
+
private touchHandler: RNGHRootTouchHandler | undefined = undefined
|
22
|
+
|
23
|
+
aboutToAppear() {
|
24
|
+
const rnGestureHandlerModule = this.ctx.rnInstance.getTurboModule<RNGestureHandlerModule>(RNGestureHandlerModule.NAME)
|
25
|
+
const rootTag = this.ctx.descriptorRegistry.getDescriptorLineage(this.tag)[0].tag
|
26
|
+
this.touchHandler = new RNGHRootTouchHandler(rootTag, rnGestureHandlerModule.getViewRegistry() as ViewRegistry, rnGestureHandlerModule.getGestureHandlerRegistry(), rnGestureHandlerModule.getLogger())
|
27
|
+
this.handleDescriptorChange(this.ctx.descriptorRegistry.getDescriptor<RNGestureHandlerRootViewDescriptor>(this.tag))
|
28
|
+
this.unsubscribes.push(this.ctx.descriptorRegistry.subscribeToDescriptorChanges(this.tag, (d) => {
|
29
|
+
this.handleDescriptorChange(d as RNGestureHandlerRootViewDescriptor)
|
30
|
+
}))
|
31
|
+
}
|
32
|
+
|
33
|
+
aboutToDisappear() {
|
34
|
+
this.unsubscribes.forEach(unsubscribe => unsubscribe())
|
35
|
+
}
|
36
|
+
|
37
|
+
handleDescriptorChange(newDescriptor: RNGestureHandlerRootViewDescriptor) {
|
38
|
+
this.descriptor = newDescriptor
|
39
|
+
}
|
40
|
+
|
41
|
+
build() {
|
42
|
+
RNViewBase({ ctx: this.ctx, tag: this.tag }) {
|
43
|
+
ForEach(this.descriptor.childrenTags, (childrenTag: Tag) => {
|
44
|
+
RNComponentFactory({ ctx: this.ctx, tag: childrenTag, buildCustomComponent: this.buildCustomComponent })
|
45
|
+
})
|
46
|
+
Stack() {
|
47
|
+
}
|
48
|
+
.width("100%")
|
49
|
+
.height("100%")
|
50
|
+
.onTouch((e) => {
|
51
|
+
this.touchHandler?.handleTouch(e)
|
52
|
+
})
|
53
|
+
.hitTestBehavior(HitTestMode.Transparent)
|
54
|
+
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { RNInstance } from "rnoh/ts"
|
2
|
+
import { ScrollLocker } from "./GestureHandler"
|
3
|
+
|
4
|
+
export class RNOHScrollLocker implements ScrollLocker {
|
5
|
+
public constructor(private rnInstance: RNInstance) {
|
6
|
+
}
|
7
|
+
|
8
|
+
public lockScrollContainingViewTag(viewTag: number) {
|
9
|
+
return this.rnInstance.blockComponentsGestures(viewTag)
|
10
|
+
}
|
11
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
export enum State {
|
2
|
+
/** This is the initial state of each handler and it goes into this state after it's done recognizing a gesture. */
|
3
|
+
UNDETERMINED,
|
4
|
+
|
5
|
+
/** A handler received some touches but for some reason didn't recognize them. For example, if a finger travels more
|
6
|
+
* distance than a defined maxDist property allows, then the handler won't become active but will fail instead.
|
7
|
+
* Afterwards, it's state will be reset to UNDETERMINED. */
|
8
|
+
FAILED,
|
9
|
+
|
10
|
+
/** Handler has started receiving touch stream but hasn't yet received enough data to either fail or activate. */
|
11
|
+
BEGAN,
|
12
|
+
|
13
|
+
/** The gesture recognizer has received a signal (possibly new touches or a command from the touch system controller)
|
14
|
+
* resulting in the cancellation of a continuous gesture. The gesture's state will become CANCELLED until it is
|
15
|
+
* finally reset to the initial state, UNDETERMINED. */
|
16
|
+
CANCELLED,
|
17
|
+
|
18
|
+
/** Handler has recognized a gesture. It will become and stay in the ACTIVE state until the gesture finishes
|
19
|
+
* (e.g. when user lifts the finger) or gets cancelled by the touch system. Under normal circumstances the state will
|
20
|
+
* then turn into END. In the case that a gesture is cancelled by the touch system, its state would then become
|
21
|
+
* CANCELLED. Learn about discrete and continuous handlers here to understand how long a handler can be kept in the
|
22
|
+
* ACTIVE state.
|
23
|
+
* */
|
24
|
+
ACTIVE,
|
25
|
+
|
26
|
+
/** The gesture recognizer has received touches signalling the end of a gesture. Its state will become END until it is
|
27
|
+
* reset to UNDETERMINED.
|
28
|
+
* */
|
29
|
+
END,
|
30
|
+
}
|
31
|
+
|
32
|
+
export function getStateName(state: State): string {
|
33
|
+
switch (state) {
|
34
|
+
case State.UNDETERMINED:
|
35
|
+
return "UNDETERMINED"
|
36
|
+
case State.FAILED:
|
37
|
+
return "FAILED"
|
38
|
+
case State.BEGAN:
|
39
|
+
return "BEGAN"
|
40
|
+
case State.CANCELLED:
|
41
|
+
return "CANCELLED"
|
42
|
+
case State.ACTIVE:
|
43
|
+
return "ACTIVE"
|
44
|
+
case State.END:
|
45
|
+
return "END"
|
46
|
+
}
|
47
|
+
}
|
@@ -0,0 +1,206 @@
|
|
1
|
+
import { GestureHandler, GestureHandlerDependencies } from "./GestureHandler"
|
2
|
+
import { AdaptedEvent, EventType } from "./Event"
|
3
|
+
import { State, getStateName } from "./State"
|
4
|
+
|
5
|
+
const DEFAULT_MAX_DURATION_MS = 500;
|
6
|
+
const DEFAULT_NUMBER_OF_TAPS = 1;
|
7
|
+
const DEFAULT_MAX_DELAY_MS = 500;
|
8
|
+
|
9
|
+
export class TapGestureHandler extends GestureHandler {
|
10
|
+
private startX = 0;
|
11
|
+
private startY = 0;
|
12
|
+
private offsetX = 0;
|
13
|
+
private offsetY = 0;
|
14
|
+
private lastX = 0;
|
15
|
+
private lastY = 0;
|
16
|
+
private maxNumberOfPointersSoFar = 0;
|
17
|
+
private numberOfTapsSoFar: number = 0;
|
18
|
+
private waitTimeout: number | undefined;
|
19
|
+
private delayTimeout: number | undefined;
|
20
|
+
|
21
|
+
constructor(deps: GestureHandlerDependencies) {
|
22
|
+
super({...deps, logger: deps.logger.cloneWithPrefix("TapGestureHandler")})
|
23
|
+
}
|
24
|
+
|
25
|
+
onPointerDown(event) {
|
26
|
+
this.tracker.addToTracker(event);
|
27
|
+
super.onPointerDown(event);
|
28
|
+
this.trySettingPosition(event);
|
29
|
+
this.lastX = event.x;
|
30
|
+
this.lastY = event.y;
|
31
|
+
this.updateState(event);
|
32
|
+
}
|
33
|
+
|
34
|
+
onAdditionalPointerAdd(event: AdaptedEvent): void {
|
35
|
+
super.onAdditionalPointerAdd(event);
|
36
|
+
this.tracker.addToTracker(event);
|
37
|
+
this.trySettingPosition(event);
|
38
|
+
|
39
|
+
this.offsetX += this.lastX - this.startX;
|
40
|
+
this.offsetY += this.lastY - this.startY;
|
41
|
+
|
42
|
+
this.lastX = this.tracker.getLastAvgX();
|
43
|
+
this.lastY = this.tracker.getLastAvgY();
|
44
|
+
|
45
|
+
this.startX = this.tracker.getLastAvgX();
|
46
|
+
this.startY = this.tracker.getLastAvgY();
|
47
|
+
|
48
|
+
this.updateState(event);
|
49
|
+
}
|
50
|
+
|
51
|
+
onPointerUp(event: AdaptedEvent): void {
|
52
|
+
super.onPointerUp(event);
|
53
|
+
this.lastX = this.tracker.getLastAvgX();
|
54
|
+
this.lastY = this.tracker.getLastAvgY();
|
55
|
+
|
56
|
+
this.tracker.removeFromTracker(event.pointerId);
|
57
|
+
|
58
|
+
this.updateState(event);
|
59
|
+
}
|
60
|
+
|
61
|
+
onAdditionalPointerRemove(event: AdaptedEvent): void {
|
62
|
+
super.onAdditionalPointerRemove(event);
|
63
|
+
this.tracker.removeFromTracker(event.pointerId);
|
64
|
+
|
65
|
+
this.offsetX += this.lastX - this.startX;
|
66
|
+
this.offsetY += this.lastY = this.startY;
|
67
|
+
|
68
|
+
this.lastX = this.tracker.getLastAvgX();
|
69
|
+
this.lastY = this.tracker.getLastAvgY();
|
70
|
+
|
71
|
+
this.startX = this.lastX;
|
72
|
+
this.startY = this.lastY;
|
73
|
+
|
74
|
+
this.updateState(event);
|
75
|
+
}
|
76
|
+
|
77
|
+
onPointerMove(event: AdaptedEvent): void {
|
78
|
+
this.trySettingPosition(event);
|
79
|
+
this.tracker.track(event);
|
80
|
+
|
81
|
+
this.lastX = this.tracker.getLastAvgX();
|
82
|
+
this.lastY = this.tracker.getLastAvgY();
|
83
|
+
|
84
|
+
this.updateState(event);
|
85
|
+
|
86
|
+
super.onPointerMove(event);
|
87
|
+
}
|
88
|
+
|
89
|
+
onPointerOutOfBounds(event: AdaptedEvent): void {
|
90
|
+
this.trySettingPosition(event);
|
91
|
+
this.tracker.track(event);
|
92
|
+
|
93
|
+
this.lastX = this.tracker.getLastAvgX();
|
94
|
+
this.lastY = this.tracker.getLastAvgY();
|
95
|
+
|
96
|
+
this.updateState(event);
|
97
|
+
|
98
|
+
super.onPointerOutOfBounds(event);
|
99
|
+
}
|
100
|
+
|
101
|
+
getDefaultConfig() {
|
102
|
+
return {}
|
103
|
+
}
|
104
|
+
|
105
|
+
private trySettingPosition(event: AdaptedEvent): void {
|
106
|
+
if (this.currentState !== State.UNDETERMINED) return;
|
107
|
+
this.offsetX = 0;
|
108
|
+
this.offsetY = 0;
|
109
|
+
this.startX = event.x;
|
110
|
+
this.startY = event.y;
|
111
|
+
}
|
112
|
+
|
113
|
+
private updateState(event: AdaptedEvent): void {
|
114
|
+
const logger = this.logger.cloneWithPrefix("updateState")
|
115
|
+
if (this.maxNumberOfPointersSoFar < this.tracker.getTrackedPointersCount()) {
|
116
|
+
this.maxNumberOfPointersSoFar = this.tracker.getTrackedPointersCount()
|
117
|
+
}
|
118
|
+
if (this.shouldFail()) {
|
119
|
+
logger.info("fail")
|
120
|
+
this.fail()
|
121
|
+
return;
|
122
|
+
}
|
123
|
+
switch (this.currentState) {
|
124
|
+
case State.UNDETERMINED:
|
125
|
+
if (event.eventType === EventType.DOWN) {
|
126
|
+
this.begin()
|
127
|
+
}
|
128
|
+
this.startTap();
|
129
|
+
break;
|
130
|
+
case State.BEGAN:
|
131
|
+
if (event.eventType === EventType.UP) {
|
132
|
+
logger.info("endTap")
|
133
|
+
this.endTap();
|
134
|
+
}
|
135
|
+
if (event.eventType === EventType.DOWN) {
|
136
|
+
this.startTap();
|
137
|
+
}
|
138
|
+
break;
|
139
|
+
default:
|
140
|
+
logger.info(`default case - currentState ${getStateName(this.currentState)}`)
|
141
|
+
break;
|
142
|
+
}
|
143
|
+
}
|
144
|
+
|
145
|
+
private shouldFail(): boolean {
|
146
|
+
const maxDeltaX = this.config.maxDeltaX ?? Number.MIN_SAFE_INTEGER
|
147
|
+
const maxDeltaY = this.config.maxDeltaY ?? Number.MIN_SAFE_INTEGER
|
148
|
+
const maxDistSq = this.config.maxDistSq ?? Number.MIN_SAFE_INTEGER
|
149
|
+
|
150
|
+
const dx = this.lastX - this.startX + this.offsetX;
|
151
|
+
if (
|
152
|
+
maxDeltaX !== Number.MIN_SAFE_INTEGER &&
|
153
|
+
Math.abs(dx) > maxDeltaX
|
154
|
+
) {
|
155
|
+
return true;
|
156
|
+
}
|
157
|
+
const dy = this.lastY - this.startY + this.offsetY;
|
158
|
+
if (
|
159
|
+
maxDeltaY !== Number.MIN_SAFE_INTEGER &&
|
160
|
+
Math.abs(dy) > maxDeltaY
|
161
|
+
) {
|
162
|
+
return true;
|
163
|
+
}
|
164
|
+
const distSq = dy * dy + dx * dx;
|
165
|
+
const result = maxDistSq !== Number.MIN_SAFE_INTEGER && distSq > maxDistSq
|
166
|
+
return result;
|
167
|
+
}
|
168
|
+
|
169
|
+
private startTap() {
|
170
|
+
this.clearTimeouts();
|
171
|
+
this.waitTimeout = setTimeout(() => this.fail(), this.config.maxDurationMs ?? DEFAULT_MAX_DURATION_MS);
|
172
|
+
}
|
173
|
+
|
174
|
+
private clearTimeouts() {
|
175
|
+
clearTimeout(this.waitTimeout);
|
176
|
+
clearTimeout(this.delayTimeout);
|
177
|
+
}
|
178
|
+
|
179
|
+
private endTap() {
|
180
|
+
this.clearTimeouts();
|
181
|
+
if (
|
182
|
+
++this.numberOfTapsSoFar === (this.config.numberOfTaps ?? DEFAULT_NUMBER_OF_TAPS) &&
|
183
|
+
this.maxNumberOfPointersSoFar >= (this.config.minNumberOfPointers ?? 0)
|
184
|
+
) {
|
185
|
+
this.activate();
|
186
|
+
} else {
|
187
|
+
this.delayTimeout = setTimeout(() => this.fail(), this.config.maxDelayMs ?? DEFAULT_MAX_DELAY_MS);
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
public activate(): void {
|
192
|
+
super.activate();
|
193
|
+
this.end();
|
194
|
+
}
|
195
|
+
|
196
|
+
protected onCancel() {
|
197
|
+
super.onCancel()
|
198
|
+
this.resetProgress()
|
199
|
+
}
|
200
|
+
|
201
|
+
protected resetProgress(): void {
|
202
|
+
this.clearTimeouts();
|
203
|
+
this.numberOfTapsSoFar = 0;
|
204
|
+
this.maxNumberOfPointersSoFar = 0;
|
205
|
+
}
|
206
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
export class Vector2D {
|
2
|
+
constructor(
|
3
|
+
private val: {
|
4
|
+
x: number;
|
5
|
+
y: number;
|
6
|
+
} = {x: 0, y: 0},
|
7
|
+
) {}
|
8
|
+
|
9
|
+
get x() {
|
10
|
+
return this.val.x;
|
11
|
+
}
|
12
|
+
|
13
|
+
get y() {
|
14
|
+
return this.val.y;
|
15
|
+
}
|
16
|
+
|
17
|
+
get value() {
|
18
|
+
return {...this.val};
|
19
|
+
}
|
20
|
+
|
21
|
+
public clone() {
|
22
|
+
return new Vector2D({...this.val});
|
23
|
+
}
|
24
|
+
|
25
|
+
public subtract(vec: Vector2D) {
|
26
|
+
this.val.x -= vec.x;
|
27
|
+
this.val.y -= vec.y;
|
28
|
+
return this;
|
29
|
+
}
|
30
|
+
|
31
|
+
public add(vec: Vector2D) {
|
32
|
+
this.val.x += vec.x;
|
33
|
+
this.val.y += vec.y;
|
34
|
+
return this;
|
35
|
+
}
|
36
|
+
}
|
@@ -1,98 +1,98 @@
|
|
1
|
-
import { AdaptedEvent } from '
|
2
|
-
import CircularBuffer from './CircularBuffer';
|
3
|
-
import LeastSquareSolver from './LeastSquareSolver';
|
4
|
-
|
5
|
-
export default class VelocityTracker {
|
6
|
-
private assumePointerMoveStoppedMilliseconds = 40;
|
7
|
-
private historySize = 20;
|
8
|
-
private horizonMilliseconds = 300;
|
9
|
-
private minSampleSize = 3;
|
10
|
-
|
11
|
-
private samples: CircularBuffer<AdaptedEvent>;
|
12
|
-
|
13
|
-
constructor() {
|
14
|
-
this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);
|
15
|
-
}
|
16
|
-
|
17
|
-
public add(event: AdaptedEvent): void {
|
18
|
-
this.samples.push(event);
|
19
|
-
}
|
20
|
-
|
21
|
-
/// Returns an estimate of the velocity of the object being tracked by the
|
22
|
-
/// tracker given the current information available to the tracker.
|
23
|
-
///
|
24
|
-
/// Information is added using [addPosition].
|
25
|
-
///
|
26
|
-
/// Returns null if there is no data on which to base an estimate.
|
27
|
-
private getVelocityEstimate(): [number, number] | null {
|
28
|
-
const x = [];
|
29
|
-
const y = [];
|
30
|
-
const w = [];
|
31
|
-
const time = [];
|
32
|
-
|
33
|
-
let sampleCount = 0;
|
34
|
-
let index = this.samples.size - 1;
|
35
|
-
const newestSample = this.samples.get(index);
|
36
|
-
if (!newestSample) {
|
37
|
-
return null;
|
38
|
-
}
|
39
|
-
|
40
|
-
let previousSample = newestSample;
|
41
|
-
|
42
|
-
// Starting with the most recent PointAtTime sample, iterate backwards while
|
43
|
-
// the samples represent continuous motion.
|
44
|
-
while (sampleCount < this.samples.size) {
|
45
|
-
const sample = this.samples.get(index);
|
46
|
-
|
47
|
-
const age = newestSample.time - sample.time;
|
48
|
-
const delta = Math.abs(sample.time - previousSample.time);
|
49
|
-
previousSample = sample;
|
50
|
-
|
51
|
-
if (
|
52
|
-
age > this.horizonMilliseconds ||
|
53
|
-
|
54
|
-
) {
|
55
|
-
break;
|
56
|
-
}
|
57
|
-
|
58
|
-
x.push(sample.x);
|
59
|
-
y.push(sample.y);
|
60
|
-
w.push(1);
|
61
|
-
time.push(-age);
|
62
|
-
|
63
|
-
sampleCount++;
|
64
|
-
index--;
|
65
|
-
}
|
66
|
-
|
67
|
-
if (sampleCount >= this.minSampleSize) {
|
68
|
-
const xSolver = new LeastSquareSolver(time, x, w);
|
69
|
-
const xFit = xSolver.solve(2);
|
70
|
-
|
71
|
-
if (xFit !== null) {
|
72
|
-
const ySolver = new LeastSquareSolver(time, y, w);
|
73
|
-
const yFit = ySolver.solve(2);
|
74
|
-
|
75
|
-
if (yFit !== null) {
|
76
|
-
const xVelocity = xFit.coefficients[1] * 1000;
|
77
|
-
const yVelocity = yFit.coefficients[1] * 1000;
|
78
|
-
|
79
|
-
return [xVelocity, yVelocity];
|
80
|
-
}
|
81
|
-
}
|
82
|
-
}
|
83
|
-
|
84
|
-
return null;
|
85
|
-
}
|
86
|
-
|
87
|
-
public getVelocity(): [number, number] {
|
88
|
-
const estimate = this.getVelocityEstimate();
|
89
|
-
if (estimate !== null) {
|
90
|
-
return estimate;
|
91
|
-
}
|
92
|
-
return [0, 0];
|
93
|
-
}
|
94
|
-
|
95
|
-
public reset(): void {
|
96
|
-
this.samples.clear();
|
97
|
-
}
|
98
|
-
}
|
1
|
+
import { AdaptedEvent } from './Event';
|
2
|
+
import { CircularBuffer } from './CircularBuffer';
|
3
|
+
import { LeastSquareSolver } from './LeastSquareSolver';
|
4
|
+
|
5
|
+
export default class VelocityTracker {
|
6
|
+
private assumePointerMoveStoppedMilliseconds = 40;
|
7
|
+
private historySize = 20;
|
8
|
+
private horizonMilliseconds = 300;
|
9
|
+
private minSampleSize = 3;
|
10
|
+
|
11
|
+
private samples: CircularBuffer<AdaptedEvent>;
|
12
|
+
|
13
|
+
constructor() {
|
14
|
+
this.samples = new CircularBuffer<AdaptedEvent>(this.historySize);
|
15
|
+
}
|
16
|
+
|
17
|
+
public add(event: AdaptedEvent): void {
|
18
|
+
this.samples.push(event);
|
19
|
+
}
|
20
|
+
|
21
|
+
/// Returns an estimate of the velocity of the object being tracked by the
|
22
|
+
/// tracker given the current information available to the tracker.
|
23
|
+
///
|
24
|
+
/// Information is added using [addPosition].
|
25
|
+
///
|
26
|
+
/// Returns null if there is no data on which to base an estimate.
|
27
|
+
private getVelocityEstimate(): [number, number] | null {
|
28
|
+
const x = [];
|
29
|
+
const y = [];
|
30
|
+
const w = [];
|
31
|
+
const time = [];
|
32
|
+
|
33
|
+
let sampleCount = 0;
|
34
|
+
let index = this.samples.size - 1;
|
35
|
+
const newestSample = this.samples.get(index);
|
36
|
+
if (!newestSample) {
|
37
|
+
return null;
|
38
|
+
}
|
39
|
+
|
40
|
+
let previousSample = newestSample;
|
41
|
+
|
42
|
+
// Starting with the most recent PointAtTime sample, iterate backwards while
|
43
|
+
// the samples represent continuous motion.
|
44
|
+
while (sampleCount < this.samples.size) {
|
45
|
+
const sample = this.samples.get(index);
|
46
|
+
|
47
|
+
const age = newestSample.time - sample.time;
|
48
|
+
const delta = Math.abs(sample.time - previousSample.time);
|
49
|
+
previousSample = sample;
|
50
|
+
|
51
|
+
if (
|
52
|
+
age > this.horizonMilliseconds ||
|
53
|
+
delta > this.assumePointerMoveStoppedMilliseconds
|
54
|
+
) {
|
55
|
+
break;
|
56
|
+
}
|
57
|
+
|
58
|
+
x.push(sample.x);
|
59
|
+
y.push(sample.y);
|
60
|
+
w.push(1);
|
61
|
+
time.push(-age);
|
62
|
+
|
63
|
+
sampleCount++;
|
64
|
+
index--;
|
65
|
+
}
|
66
|
+
|
67
|
+
if (sampleCount >= this.minSampleSize) {
|
68
|
+
const xSolver = new LeastSquareSolver(time, x, w);
|
69
|
+
const xFit = xSolver.solve(2);
|
70
|
+
|
71
|
+
if (xFit !== null) {
|
72
|
+
const ySolver = new LeastSquareSolver(time, y, w);
|
73
|
+
const yFit = ySolver.solve(2);
|
74
|
+
|
75
|
+
if (yFit !== null) {
|
76
|
+
const xVelocity = xFit.coefficients[1] * 1000;
|
77
|
+
const yVelocity = yFit.coefficients[1] * 1000;
|
78
|
+
|
79
|
+
return [xVelocity, yVelocity];
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
return null;
|
85
|
+
}
|
86
|
+
|
87
|
+
public getVelocity(): [number, number] {
|
88
|
+
const estimate = this.getVelocityEstimate();
|
89
|
+
if (estimate !== null) {
|
90
|
+
return estimate;
|
91
|
+
}
|
92
|
+
return [0, 0];
|
93
|
+
}
|
94
|
+
|
95
|
+
public reset(): void {
|
96
|
+
this.samples.clear();
|
97
|
+
}
|
98
|
+
}
|