react-native-gesture-handler 1.10.3 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -6
- package/android/build.gradle +49 -1
- package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
- package/android/gradle.properties +19 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +18 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/Extensions.kt +11 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +96 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +713 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +8 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +562 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +8 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +21 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.kt +49 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +97 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/ManualGestureHandler.kt +11 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +129 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.kt +9 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +289 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +88 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/{PointerEventsConfig.java → PointerEventsConfig.kt} +3 -5
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.kt +125 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.kt +79 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +167 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +10 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +348 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +57 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +59 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +61 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +686 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.kt +17 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +95 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +132 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +68 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +34 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +66 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
- package/ios/Handlers/RNFlingHandler.m +78 -5
- package/ios/Handlers/RNForceTouchHandler.m +29 -4
- package/ios/Handlers/RNLongPressHandler.m +105 -3
- package/ios/Handlers/RNManualHandler.h +4 -0
- package/ios/Handlers/RNManualHandler.m +73 -0
- package/ios/Handlers/RNNativeViewHandler.m +30 -2
- package/ios/Handlers/RNPanHandler.m +64 -4
- package/ios/Handlers/RNPinchHandler.m +61 -2
- package/ios/Handlers/RNRotationHandler.m +60 -1
- package/ios/Handlers/RNTapHandler.m +55 -8
- package/ios/RNGestureHandler.h +18 -4
- package/ios/RNGestureHandler.m +123 -13
- package/ios/RNGestureHandlerEvents.h +9 -0
- package/ios/RNGestureHandlerEvents.m +34 -0
- package/ios/RNGestureHandlerManager.h +7 -0
- package/ios/RNGestureHandlerManager.m +62 -34
- package/ios/RNGestureHandlerModule.m +39 -3
- package/ios/RNGestureHandlerPointerTracker.h +25 -0
- package/ios/RNGestureHandlerPointerTracker.m +237 -0
- package/ios/RNGestureHandlerRegistry.h +1 -0
- package/ios/RNGestureHandlerRegistry.m +10 -0
- package/ios/RNGestureHandlerStateManager.h +5 -0
- package/ios/RNManualActivationRecognizer.h +10 -0
- package/ios/RNManualActivationRecognizer.m +80 -0
- package/ios/RNRootViewGestureRecognizer.m +1 -1
- package/ios/RNTouchEventType.h +9 -0
- package/lib/commonjs/EventType.js +16 -0
- package/lib/commonjs/EventType.js.map +1 -0
- package/lib/commonjs/GestureHandlerRootView.android.js +1 -13
- package/lib/commonjs/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/GestureHandlerRootView.js +11 -3
- package/lib/commonjs/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.js +3 -1
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.web.js +2 -2
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +41 -37
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/GestureComponents.js +31 -12
- package/lib/commonjs/components/GestureComponents.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js +10 -6
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js +2 -1
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/gestureHandlerRootHOC.js +1 -1
- package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +23 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +44 -0
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js +23 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +6 -4
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +121 -0
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js +21 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js +21 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/TapGestureHandler.js +23 -0
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
- package/lib/commonjs/handlers/createHandler.js +52 -83
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +80 -0
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js +440 -0
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js +135 -0
- package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
- package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js +65 -0
- package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gesture.js +193 -0
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js +94 -0
- package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js +85 -0
- package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js +58 -0
- package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js +31 -0
- package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
- package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/panGesture.js +144 -0
- package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/pinchGesture.js +45 -0
- package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +24 -0
- package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
- package/lib/commonjs/handlers/gestures/rotationGesture.js +45 -0
- package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js +59 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/commonjs/handlers/handlersRegistry.js +31 -0
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
- package/lib/commonjs/index.js +146 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +13 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/mocks.js +31 -2
- package/lib/commonjs/mocks.js.map +1 -1
- package/lib/commonjs/utils.js +15 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/commonjs/web/Errors.js +1 -1
- package/lib/commonjs/web/Errors.js.map +1 -1
- package/lib/commonjs/web/GestureHandler.js +4 -6
- package/lib/commonjs/web/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/NodeManager.js +8 -2
- package/lib/commonjs/web/NodeManager.js.map +1 -1
- package/lib/module/EventType.js +8 -0
- package/lib/module/EventType.js.map +1 -0
- package/lib/module/GestureHandlerRootView.android.js +2 -14
- package/lib/module/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/GestureHandlerRootView.js +5 -1
- package/lib/module/GestureHandlerRootView.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.js +3 -1
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +2 -2
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +43 -40
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureComponents.js +29 -11
- package/lib/module/components/GestureComponents.js.map +1 -1
- package/lib/module/components/Swipeable.js +9 -6
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/touchables/GenericTouchable.js +2 -1
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/gestureHandlerRootHOC.js +1 -1
- package/lib/module/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +10 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js +29 -0
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
- package/lib/module/handlers/LongPressGestureHandler.js +10 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
- package/lib/module/handlers/NativeViewGestureHandler.js +4 -3
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +106 -0
- package/lib/module/handlers/PanGestureHandler.js.map +1 -0
- package/lib/module/handlers/PinchGestureHandler.js +9 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
- package/lib/module/handlers/RotationGestureHandler.js +9 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
- package/lib/module/handlers/TapGestureHandler.js +10 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -0
- package/lib/module/handlers/createHandler.js +41 -76
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +66 -0
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
- package/lib/module/handlers/gestures/GestureDetector.js +402 -0
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
- package/lib/module/handlers/gestures/eventReceiver.js +120 -0
- package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
- package/lib/module/handlers/gestures/flingGesture.js +24 -0
- package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js +56 -0
- package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
- package/lib/module/handlers/gestures/gesture.js +175 -0
- package/lib/module/handlers/gestures/gesture.js.map +1 -0
- package/lib/module/handlers/gestures/gestureComposition.js +79 -0
- package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
- package/lib/module/handlers/gestures/gestureObjects.js +67 -0
- package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
- package/lib/module/handlers/gestures/gestureStateManager.js +48 -0
- package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
- package/lib/module/handlers/gestures/longPressGesture.js +24 -0
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
- package/lib/module/handlers/gestures/manualGesture.js +22 -0
- package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
- package/lib/module/handlers/gestures/nativeGesture.js +24 -0
- package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
- package/lib/module/handlers/gestures/panGesture.js +135 -0
- package/lib/module/handlers/gestures/panGesture.js.map +1 -0
- package/lib/module/handlers/gestures/pinchGesture.js +36 -0
- package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js +19 -0
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
- package/lib/module/handlers/gestures/rotationGesture.js +36 -0
- package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
- package/lib/module/handlers/gestures/tapGesture.js +49 -0
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
- package/lib/module/handlers/handlersRegistry.js +16 -0
- package/lib/module/handlers/handlersRegistry.js.map +1 -0
- package/lib/module/index.js +22 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +5 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/mocks.js +31 -2
- package/lib/module/mocks.js.map +1 -1
- package/lib/module/utils.js +8 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/module/web/Errors.js +1 -1
- package/lib/module/web/Errors.js.map +1 -1
- package/lib/module/web/GestureHandler.js +4 -6
- package/lib/module/web/GestureHandler.js.map +1 -1
- package/lib/module/web/NodeManager.js +8 -2
- package/lib/module/web/NodeManager.js.map +1 -1
- package/lib/typescript/EventType.d.ts +8 -0
- package/lib/typescript/GestureHandlerRootView.android.d.ts +2 -4
- package/lib/typescript/GestureHandlerRootView.d.ts +5 -2
- package/lib/typescript/RNGestureHandlerModule.d.ts +1 -1
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +50 -1
- package/lib/typescript/components/GestureButtons.d.ts +36 -0
- package/lib/typescript/components/GestureComponents.d.ts +8 -35
- package/lib/typescript/components/Swipeable.d.ts +73 -6
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +2 -2
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +1 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +1 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +33 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +43 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +55 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +19 -4
- package/lib/typescript/handlers/PanGestureHandler.d.ts +137 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +28 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +28 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +56 -0
- package/lib/typescript/handlers/createHandler.d.ts +1 -1
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +62 -0
- package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +8 -1
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +16 -0
- package/lib/typescript/handlers/gestures/eventReceiver.d.ts +2 -0
- package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +16 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +97 -0
- package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
- package/lib/typescript/handlers/gestures/gestureObjects.d.ts +39 -0
- package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
- package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/manualGesture.d.ts +7 -0
- package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
- package/lib/typescript/handlers/gestures/panGesture.d.ts +26 -0
- package/lib/typescript/handlers/gestures/pinchGesture.d.ts +12 -0
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
- package/lib/typescript/handlers/gestures/rotationGesture.d.ts +12 -0
- package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +6 -0
- package/lib/typescript/index.d.ts +29 -2
- package/lib/typescript/init.d.ts +1 -0
- package/lib/typescript/mocks.d.ts +21 -2
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/web/FlingGestureHandler.d.ts +0 -1
- package/lib/typescript/web/GestureHandler.d.ts +0 -1
- package/lib/typescript/web/PanGestureHandler.d.ts +0 -1
- package/lib/typescript/web/PinchGestureHandler.d.ts +0 -1
- package/lib/typescript/web/PressGestureHandler.d.ts +0 -1
- package/lib/typescript/web/RotationGestureHandler.d.ts +0 -1
- package/lib/typescript/web/TapGestureHandler.d.ts +0 -1
- package/package.json +8 -5
- package/src/EventType.ts +10 -0
- package/src/GestureHandlerRootView.android.tsx +9 -25
- package/src/GestureHandlerRootView.tsx +11 -2
- package/src/RNGestureHandlerModule.ts +5 -1
- package/src/RNGestureHandlerModule.web.ts +1 -0
- package/src/components/DrawerLayout.tsx +114 -41
- package/src/components/GestureButtons.tsx +45 -5
- package/src/components/GestureComponents.tsx +47 -41
- package/src/components/Swipeable.tsx +108 -21
- package/src/components/touchables/GenericTouchable.tsx +2 -1
- package/src/components/touchables/TouchableOpacity.tsx +1 -1
- package/src/handlers/FlingGestureHandler.ts +57 -0
- package/src/handlers/ForceTouchGestureHandler.ts +83 -0
- package/src/handlers/LongPressGestureHandler.ts +84 -0
- package/src/handlers/NativeViewGestureHandler.ts +31 -7
- package/src/handlers/PanGestureHandler.ts +321 -0
- package/src/handlers/PinchGestureHandler.ts +46 -0
- package/src/handlers/RotationGestureHandler.ts +46 -0
- package/src/handlers/TapGestureHandler.ts +90 -0
- package/src/handlers/createHandler.ts +54 -79
- package/src/handlers/gestureHandlerCommon.ts +185 -0
- package/src/handlers/gestureHandlerTypesCompat.ts +19 -5
- package/src/handlers/gestures/GestureDetector.tsx +519 -0
- package/src/handlers/gestures/eventReceiver.ts +151 -0
- package/src/handlers/gestures/flingGesture.ts +27 -0
- package/src/handlers/gestures/forceTouchGesture.ts +74 -0
- package/src/handlers/gestures/gesture.ts +292 -0
- package/src/handlers/gestures/gestureComposition.ts +109 -0
- package/src/handlers/gestures/gestureObjects.ts +79 -0
- package/src/handlers/gestures/gestureStateManager.ts +60 -0
- package/src/handlers/gestures/longPressGesture.ts +27 -0
- package/src/handlers/gestures/manualGesture.ts +31 -0
- package/src/handlers/gestures/nativeGesture.ts +27 -0
- package/src/handlers/gestures/panGesture.ts +147 -0
- package/src/handlers/gestures/pinchGesture.ts +51 -0
- package/src/handlers/gestures/reanimatedWrapper.ts +45 -0
- package/src/handlers/gestures/rotationGesture.ts +51 -0
- package/src/handlers/gestures/tapGesture.ts +52 -0
- package/src/handlers/handlersRegistry.ts +22 -0
- package/src/index.ts +57 -17
- package/src/init.ts +5 -0
- package/src/mocks.ts +42 -2
- package/src/utils.ts +7 -0
- package/src/web/GestureHandler.ts +1 -2
- package/src/web/NodeManager.ts +5 -0
- package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -23
- package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -110
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java +0 -531
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -8
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -543
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -10
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -29
- package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.java +0 -53
- package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -81
- package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -110
- package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -8
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -312
- package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -109
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -169
- package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -96
- package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -172
- package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -10
- package/android/src/main/java/com/facebook/react/views/modal/RNGHModalUtils.java +0 -21
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java +0 -296
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java +0 -72
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java +0 -77
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.java +0 -8
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.java +0 -86
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java +0 -731
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java +0 -31
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.java +0 -101
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java +0 -151
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.java +0 -7
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java +0 -76
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java +0 -49
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java +0 -82
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java +0 -61
- package/lib/commonjs/handlers/gestureHandlers.js +0 -236
- package/lib/commonjs/handlers/gestureHandlers.js.map +0 -1
- package/lib/module/handlers/gestureHandlers.js +0 -216
- package/lib/module/handlers/gestureHandlers.js.map +0 -1
- package/lib/typescript/handlers/gestureHandlers.d.ts +0 -158
- package/src/handlers/gestureHandlers.ts +0 -511
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
package com.swmansion.gesturehandler;
|
|
2
|
-
|
|
3
|
-
import android.view.MotionEvent;
|
|
4
|
-
|
|
5
|
-
public class RotationGestureDetector {
|
|
6
|
-
|
|
7
|
-
public interface OnRotationGestureListener {
|
|
8
|
-
|
|
9
|
-
boolean onRotation(RotationGestureDetector detector);
|
|
10
|
-
|
|
11
|
-
boolean onRotationBegin(RotationGestureDetector detector);
|
|
12
|
-
|
|
13
|
-
void onRotationEnd(RotationGestureDetector detector);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
private long mCurrTime;
|
|
17
|
-
private long mPrevTime;
|
|
18
|
-
private double mPrevAngle;
|
|
19
|
-
private double mAngleDiff;
|
|
20
|
-
private float mAnchorX;
|
|
21
|
-
private float mAnchorY;
|
|
22
|
-
|
|
23
|
-
private boolean mInProgress;
|
|
24
|
-
|
|
25
|
-
private int mPointerIds[] = new int[2];
|
|
26
|
-
|
|
27
|
-
private OnRotationGestureListener mListener;
|
|
28
|
-
|
|
29
|
-
public RotationGestureDetector(OnRotationGestureListener listener) {
|
|
30
|
-
mListener = listener;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
private void updateCurrent(MotionEvent event) {
|
|
34
|
-
mPrevTime = mCurrTime;
|
|
35
|
-
mCurrTime = event.getEventTime();
|
|
36
|
-
|
|
37
|
-
int firstPointerIndex = event.findPointerIndex(mPointerIds[0]);
|
|
38
|
-
int secondPointerIndex = event.findPointerIndex(mPointerIds[1]);
|
|
39
|
-
|
|
40
|
-
float firstPtX = event.getX(firstPointerIndex);
|
|
41
|
-
float firstPtY = event.getY(firstPointerIndex);
|
|
42
|
-
float secondPtX = event.getX(secondPointerIndex);
|
|
43
|
-
float secondPtY = event.getY(secondPointerIndex);
|
|
44
|
-
|
|
45
|
-
float vectorX = secondPtX - firstPtX;
|
|
46
|
-
float vectorY = secondPtY - firstPtY;
|
|
47
|
-
|
|
48
|
-
mAnchorX = (firstPtX + secondPtX) * 0.5f;
|
|
49
|
-
mAnchorY = (firstPtY + secondPtY) * 0.5f;
|
|
50
|
-
|
|
51
|
-
// Angle diff should be positive when rotating in clockwise direction
|
|
52
|
-
double angle = -Math.atan2(vectorY, vectorX);
|
|
53
|
-
|
|
54
|
-
if (Double.isNaN(mPrevAngle)) {
|
|
55
|
-
mAngleDiff = 0.;
|
|
56
|
-
} else {
|
|
57
|
-
mAngleDiff = mPrevAngle - angle;
|
|
58
|
-
}
|
|
59
|
-
mPrevAngle = angle;
|
|
60
|
-
|
|
61
|
-
if (mAngleDiff > Math.PI) {
|
|
62
|
-
mAngleDiff -= Math.PI;
|
|
63
|
-
} else if (mAngleDiff < -Math.PI) {
|
|
64
|
-
mAngleDiff += Math.PI;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (mAngleDiff > Math.PI / 2.) {
|
|
68
|
-
mAngleDiff -= Math.PI;
|
|
69
|
-
} else if (mAngleDiff < -Math.PI / 2.) {
|
|
70
|
-
mAngleDiff += Math.PI;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
private void finish() {
|
|
75
|
-
if (mInProgress) {
|
|
76
|
-
mInProgress = false;
|
|
77
|
-
if (mListener != null) {
|
|
78
|
-
mListener.onRotationEnd(this);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
public boolean onTouchEvent(MotionEvent event) {
|
|
84
|
-
switch (event.getActionMasked()) {
|
|
85
|
-
|
|
86
|
-
case MotionEvent.ACTION_DOWN:
|
|
87
|
-
mInProgress = false;
|
|
88
|
-
mPointerIds[0] = event.getPointerId(event.getActionIndex());
|
|
89
|
-
mPointerIds[1] = MotionEvent.INVALID_POINTER_ID;
|
|
90
|
-
break;
|
|
91
|
-
|
|
92
|
-
case MotionEvent.ACTION_POINTER_DOWN:
|
|
93
|
-
if (!mInProgress) {
|
|
94
|
-
mPointerIds[1] = event.getPointerId(event.getActionIndex());
|
|
95
|
-
mInProgress = true;
|
|
96
|
-
mPrevTime = event.getEventTime();
|
|
97
|
-
mPrevAngle = Double.NaN;
|
|
98
|
-
updateCurrent(event);
|
|
99
|
-
if (mListener != null) {
|
|
100
|
-
mListener.onRotationBegin(this);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
break;
|
|
104
|
-
|
|
105
|
-
case MotionEvent.ACTION_MOVE:
|
|
106
|
-
if (mInProgress) {
|
|
107
|
-
updateCurrent(event);
|
|
108
|
-
if (mListener != null) {
|
|
109
|
-
mListener.onRotation(this);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
break;
|
|
113
|
-
|
|
114
|
-
case MotionEvent.ACTION_POINTER_UP:
|
|
115
|
-
if (mInProgress) {
|
|
116
|
-
int pointerId = event.getPointerId(event.getActionIndex());
|
|
117
|
-
if (pointerId == mPointerIds[0] || pointerId == mPointerIds[1]) {
|
|
118
|
-
// One of the key pointer has been lifted up, we have to end the gesture
|
|
119
|
-
finish();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
break;
|
|
123
|
-
|
|
124
|
-
case MotionEvent.ACTION_UP:
|
|
125
|
-
finish();
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
return true;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Returns rotation in radians since the previous rotation event.
|
|
133
|
-
*
|
|
134
|
-
* @return current rotation step in radians.
|
|
135
|
-
*/
|
|
136
|
-
public double getRotation() {
|
|
137
|
-
return mAngleDiff;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Return the time difference in milliseconds between the previous
|
|
142
|
-
* accepted rotation event and the current rotation event.
|
|
143
|
-
*
|
|
144
|
-
* @return Time difference since the last rotation event in milliseconds.
|
|
145
|
-
*/
|
|
146
|
-
public long getTimeDelta() {
|
|
147
|
-
return mCurrTime - mPrevTime;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Returns X coordinate of the rotation anchor point relative to the view that the provided motion
|
|
152
|
-
* event coordinates (usually relative to the view event was sent to).
|
|
153
|
-
*
|
|
154
|
-
* @return X coordinate of the rotation anchor point
|
|
155
|
-
*/
|
|
156
|
-
public float getAnchorX() {
|
|
157
|
-
return mAnchorX;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Returns Y coordinate of the rotation anchor point relative to the view that the provided motion
|
|
162
|
-
* event coordinates (usually relative to the view event was sent to).
|
|
163
|
-
*
|
|
164
|
-
* @return Y coordinate of the rotation anchor point
|
|
165
|
-
*/
|
|
166
|
-
public float getAnchorY() {
|
|
167
|
-
return mAnchorY;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
package com.swmansion.gesturehandler;
|
|
2
|
-
|
|
3
|
-
import android.view.MotionEvent;
|
|
4
|
-
|
|
5
|
-
public class RotationGestureHandler extends GestureHandler<RotationGestureHandler> {
|
|
6
|
-
|
|
7
|
-
private static final double ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36.; // 5 deg in radians
|
|
8
|
-
|
|
9
|
-
private RotationGestureDetector mRotationGestureDetector;
|
|
10
|
-
private double mLastRotation;
|
|
11
|
-
private double mLastVelocity;
|
|
12
|
-
|
|
13
|
-
private RotationGestureDetector.OnRotationGestureListener mGestureListener = new RotationGestureDetector.OnRotationGestureListener() {
|
|
14
|
-
|
|
15
|
-
@Override
|
|
16
|
-
public boolean onRotation(RotationGestureDetector detector) {
|
|
17
|
-
double prevRotation = mLastRotation;
|
|
18
|
-
mLastRotation += detector.getRotation();
|
|
19
|
-
long delta = detector.getTimeDelta();
|
|
20
|
-
if (delta > 0) {
|
|
21
|
-
mLastVelocity = (mLastRotation - prevRotation) / delta;
|
|
22
|
-
}
|
|
23
|
-
if (Math.abs(mLastRotation) >= ROTATION_RECOGNITION_THRESHOLD && getState() == STATE_BEGAN) {
|
|
24
|
-
activate();
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@Override
|
|
30
|
-
public boolean onRotationBegin(RotationGestureDetector detector) {
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
@Override
|
|
35
|
-
public void onRotationEnd(RotationGestureDetector detector) {
|
|
36
|
-
end();
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
public RotationGestureHandler() {
|
|
41
|
-
setShouldCancelWhenOutside(false);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@Override
|
|
45
|
-
protected void onHandle(MotionEvent event) {
|
|
46
|
-
int state = getState();
|
|
47
|
-
if (state == STATE_UNDETERMINED) {
|
|
48
|
-
mLastVelocity = 0f;
|
|
49
|
-
mLastRotation = 0f;
|
|
50
|
-
mRotationGestureDetector = new RotationGestureDetector(mGestureListener);
|
|
51
|
-
|
|
52
|
-
begin();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (mRotationGestureDetector != null) {
|
|
56
|
-
mRotationGestureDetector.onTouchEvent(event);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
|
|
60
|
-
if (state == STATE_ACTIVE) {
|
|
61
|
-
end();
|
|
62
|
-
} else {
|
|
63
|
-
fail();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@Override
|
|
69
|
-
protected void onReset() {
|
|
70
|
-
mRotationGestureDetector = null;
|
|
71
|
-
mLastVelocity = 0f;
|
|
72
|
-
mLastRotation = 0f;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
public double getRotation() {
|
|
76
|
-
return mLastRotation;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
public double getVelocity() {
|
|
80
|
-
return mLastVelocity;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
public float getAnchorX() {
|
|
84
|
-
if (mRotationGestureDetector == null) {
|
|
85
|
-
return Float.NaN;
|
|
86
|
-
}
|
|
87
|
-
return mRotationGestureDetector.getAnchorX();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
public float getAnchorY() {
|
|
91
|
-
if (mRotationGestureDetector == null) {
|
|
92
|
-
return Float.NaN;
|
|
93
|
-
}
|
|
94
|
-
return mRotationGestureDetector.getAnchorY();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
package com.swmansion.gesturehandler;
|
|
2
|
-
|
|
3
|
-
import android.os.Handler;
|
|
4
|
-
import android.view.MotionEvent;
|
|
5
|
-
|
|
6
|
-
public class TapGestureHandler extends GestureHandler<TapGestureHandler> {
|
|
7
|
-
private static float MAX_VALUE_IGNORE = Float.MIN_VALUE;
|
|
8
|
-
private static final long DEFAULT_MAX_DURATION_MS = 500;
|
|
9
|
-
private static final long DEFAULT_MAX_DELAY_MS = 500;
|
|
10
|
-
private static final int DEFAULT_NUMBER_OF_TAPS = 1;
|
|
11
|
-
private static final int DEFAULT_MIN_NUMBER_OF_POINTERS = 1;
|
|
12
|
-
|
|
13
|
-
private float mMaxDeltaX = MAX_VALUE_IGNORE;
|
|
14
|
-
private float mMaxDeltaY = MAX_VALUE_IGNORE;
|
|
15
|
-
private float mMaxDistSq = MAX_VALUE_IGNORE;
|
|
16
|
-
|
|
17
|
-
private long mMaxDurationMs = DEFAULT_MAX_DURATION_MS;
|
|
18
|
-
private long mMaxDelayMs = DEFAULT_MAX_DELAY_MS;
|
|
19
|
-
private int mNumberOfTaps = DEFAULT_NUMBER_OF_TAPS;
|
|
20
|
-
private int mMinNumberOfPointers = DEFAULT_MIN_NUMBER_OF_POINTERS;
|
|
21
|
-
private int mNumberOfPointers = 1;
|
|
22
|
-
|
|
23
|
-
private float mStartX, mStartY;
|
|
24
|
-
private float mOffsetX, mOffsetY;
|
|
25
|
-
private float mLastX, mLastY;
|
|
26
|
-
|
|
27
|
-
private Handler mHandler;
|
|
28
|
-
private int mTapsSoFar;
|
|
29
|
-
|
|
30
|
-
private final Runnable mFailDelayed = new Runnable() {
|
|
31
|
-
@Override
|
|
32
|
-
public void run() {
|
|
33
|
-
fail();
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
public TapGestureHandler setNumberOfTaps(int numberOfTaps) {
|
|
38
|
-
mNumberOfTaps = numberOfTaps;
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
public TapGestureHandler setMaxDelayMs(long maxDelayMs) {
|
|
43
|
-
mMaxDelayMs = maxDelayMs;
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
public TapGestureHandler setMaxDurationMs(long maxDurationMs) {
|
|
48
|
-
mMaxDurationMs = maxDurationMs;
|
|
49
|
-
return this;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
public TapGestureHandler setMaxDx(float deltaX) {
|
|
53
|
-
mMaxDeltaX = deltaX;
|
|
54
|
-
return this;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
public TapGestureHandler setMaxDy(float deltaY) {
|
|
58
|
-
mMaxDeltaY = deltaY;
|
|
59
|
-
return this;
|
|
60
|
-
}
|
|
61
|
-
public TapGestureHandler setMaxDist(float maxDist) {
|
|
62
|
-
mMaxDistSq = maxDist * maxDist;
|
|
63
|
-
return this;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
public TapGestureHandler setMinNumberOfPointers(int minNumberOfPointers) {
|
|
67
|
-
mMinNumberOfPointers = minNumberOfPointers;
|
|
68
|
-
return this;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public TapGestureHandler() {
|
|
72
|
-
setShouldCancelWhenOutside(true);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
private void startTap() {
|
|
76
|
-
if (mHandler == null) {
|
|
77
|
-
mHandler = new Handler();
|
|
78
|
-
} else {
|
|
79
|
-
mHandler.removeCallbacksAndMessages(null);
|
|
80
|
-
}
|
|
81
|
-
mHandler.postDelayed(mFailDelayed, mMaxDurationMs);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
private void endTap() {
|
|
85
|
-
if (mHandler == null) {
|
|
86
|
-
mHandler = new Handler();
|
|
87
|
-
} else {
|
|
88
|
-
mHandler.removeCallbacksAndMessages(null);
|
|
89
|
-
}
|
|
90
|
-
if (++mTapsSoFar == mNumberOfTaps && mNumberOfPointers >= mMinNumberOfPointers) {
|
|
91
|
-
activate();
|
|
92
|
-
end();
|
|
93
|
-
} else {
|
|
94
|
-
mHandler.postDelayed(mFailDelayed, mMaxDelayMs);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
private boolean shouldFail() {
|
|
99
|
-
float dx = mLastX - mStartX + mOffsetX;
|
|
100
|
-
if (mMaxDeltaX != MAX_VALUE_IGNORE && Math.abs(dx) > mMaxDeltaX) {
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
float dy = mLastY - mStartY + mOffsetY;
|
|
105
|
-
if (mMaxDeltaY != MAX_VALUE_IGNORE && Math.abs(dy) > mMaxDeltaY) {
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
float dist = dy * dy + dx * dx;
|
|
110
|
-
return mMaxDistSq != MAX_VALUE_IGNORE && dist > mMaxDistSq;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
@Override
|
|
114
|
-
protected void onHandle(MotionEvent event) {
|
|
115
|
-
int state = getState();
|
|
116
|
-
int action = event.getActionMasked();
|
|
117
|
-
|
|
118
|
-
if (state == STATE_UNDETERMINED) {
|
|
119
|
-
mOffsetX = 0;
|
|
120
|
-
mOffsetY = 0;
|
|
121
|
-
mStartX = event.getRawX();
|
|
122
|
-
mStartY = event.getRawY();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if (action == MotionEvent.ACTION_POINTER_UP || action == MotionEvent.ACTION_POINTER_DOWN) {
|
|
126
|
-
mOffsetX += mLastX - mStartX;
|
|
127
|
-
mOffsetY += mLastY - mStartY;
|
|
128
|
-
mLastX = GestureUtils.getLastPointerX(event, true);
|
|
129
|
-
mLastY = GestureUtils.getLastPointerY(event, true);
|
|
130
|
-
mStartX = mLastX;
|
|
131
|
-
mStartY = mLastY;
|
|
132
|
-
} else {
|
|
133
|
-
mLastX = GestureUtils.getLastPointerX(event, true);
|
|
134
|
-
mLastY = GestureUtils.getLastPointerY(event, true);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if (mNumberOfPointers < event.getPointerCount()) {
|
|
138
|
-
mNumberOfPointers = event.getPointerCount();
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (shouldFail()) {
|
|
142
|
-
fail();
|
|
143
|
-
} else if (state == STATE_UNDETERMINED) {
|
|
144
|
-
if (action == MotionEvent.ACTION_DOWN) {
|
|
145
|
-
begin();
|
|
146
|
-
}
|
|
147
|
-
startTap();
|
|
148
|
-
} else if (state == STATE_BEGAN) {
|
|
149
|
-
if (action == MotionEvent.ACTION_UP) {
|
|
150
|
-
endTap();
|
|
151
|
-
} else if (action == MotionEvent.ACTION_DOWN) {
|
|
152
|
-
startTap();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@Override
|
|
158
|
-
protected void onCancel() {
|
|
159
|
-
if (mHandler != null) {
|
|
160
|
-
mHandler.removeCallbacksAndMessages(null);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
@Override
|
|
165
|
-
protected void onReset() {
|
|
166
|
-
mTapsSoFar = 0;
|
|
167
|
-
mNumberOfPointers = 0;
|
|
168
|
-
if (mHandler != null) {
|
|
169
|
-
mHandler.removeCallbacksAndMessages(null);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
package com.swmansion.gesturehandler;
|
|
2
|
-
|
|
3
|
-
import android.view.View;
|
|
4
|
-
import android.view.ViewGroup;
|
|
5
|
-
|
|
6
|
-
public interface ViewConfigurationHelper {
|
|
7
|
-
PointerEventsConfig getPointerEventsConfigForView(View view);
|
|
8
|
-
View getChildInDrawingOrderAtIndex(ViewGroup parent, int index);
|
|
9
|
-
boolean isViewClippingChildren(ViewGroup view);
|
|
10
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
package com.facebook.react.views.modal;
|
|
2
|
-
|
|
3
|
-
import android.view.MotionEvent;
|
|
4
|
-
import android.view.ViewGroup;
|
|
5
|
-
import android.view.ViewParent;
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* For handling gestures inside RNGH we need to have access to some methods of
|
|
9
|
-
* `ReactModalHostView.DialogRootViewGroup`. This class is not available outside
|
|
10
|
-
* package so this file exports important features.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
public class RNGHModalUtils {
|
|
14
|
-
public static void dialogRootViewGroupOnChildStartedNativeGesture(ViewGroup modal, MotionEvent androidEvent) {
|
|
15
|
-
((ReactModalHostView.DialogRootViewGroup) modal).onChildStartedNativeGesture(androidEvent);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
public static boolean isDialogRootViewGroup(ViewParent modal) {
|
|
19
|
-
return modal instanceof ReactModalHostView.DialogRootViewGroup;
|
|
20
|
-
}
|
|
21
|
-
}
|