react-native-gesture-handler 2.21.2 → 2.22.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -3
- package/android/build.gradle +10 -0
- package/android/package77/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +85 -0
- package/android/{src → packageDeprecated/src}/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +2 -3
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +3 -2
- package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +3 -2
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +16 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +1 -1
- package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +45 -8
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +18 -0
- package/apple/Handlers/RNFlingHandler.m +0 -1
- package/apple/Handlers/RNForceTouchHandler.m +0 -1
- package/apple/Handlers/RNLongPressHandler.m +0 -1
- package/apple/Handlers/RNManualHandler.m +0 -1
- package/apple/Handlers/RNPanHandler.m +0 -3
- package/apple/Handlers/RNPinchHandler.m +0 -1
- package/apple/Handlers/RNRotationHandler.m +0 -1
- package/apple/Handlers/RNTapHandler.m +0 -1
- package/apple/RNGestureHandlerButton.h +1 -0
- package/apple/RNGestureHandlerButton.mm +51 -0
- package/apple/RNGestureHandlerManager.mm +6 -1
- package/apple/RNManualActivationRecognizer.m +1 -0
- package/lib/commonjs/ActionType.js.map +1 -1
- package/lib/commonjs/Directions.js.map +1 -1
- package/lib/commonjs/EnableNewWebImplementation.js +14 -1
- package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
- package/lib/commonjs/State.js.map +1 -1
- package/lib/commonjs/TouchEventType.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +61 -0
- package/lib/commonjs/components/Text.js.map +1 -0
- package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +10 -2
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +12 -0
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +4 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +4 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +3 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +48 -0
- package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -0
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/handlers/utils.js +1 -0
- package/lib/commonjs/handlers/utils.js.map +1 -1
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
- package/lib/commonjs/mountRegistry.js +49 -0
- package/lib/commonjs/mountRegistry.js.map +1 -0
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -4
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -14
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +6 -0
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -14
- package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +3 -5
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -4
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -10
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -14
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -4
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
- package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/module/ActionType.js.map +1 -1
- package/lib/module/Directions.js.map +1 -1
- package/lib/module/EnableNewWebImplementation.js +14 -1
- package/lib/module/EnableNewWebImplementation.js.map +1 -1
- package/lib/module/State.js.map +1 -1
- package/lib/module/TouchEventType.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +1 -1
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/components/Text.js +44 -0
- package/lib/module/components/Text.js.map +1 -0
- package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +10 -2
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/ghQueueMicrotask.js.map +1 -1
- package/lib/module/handlers/createHandler.js +11 -0
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +3 -0
- package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +2 -0
- package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +2 -0
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +39 -0
- package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -0
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/handlers/utils.js +1 -3
- package/lib/module/handlers/utils.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/jestUtils/jestUtils.js.map +1 -1
- package/lib/module/mountRegistry.js +40 -0
- package/lib/module/mountRegistry.js.map +1 -0
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +0 -4
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +0 -14
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +6 -0
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/ManualGestureHandler.js +0 -14
- package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +3 -5
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +0 -4
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +0 -10
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +0 -14
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +0 -4
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web_hammer/GestureHandler.js.map +1 -1
- package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
- package/lib/typescript/ActionType.d.ts +1 -1
- package/lib/typescript/Directions.d.ts +2 -2
- package/lib/typescript/EnableNewWebImplementation.d.ts +6 -0
- package/lib/typescript/State.d.ts +1 -1
- package/lib/typescript/TouchEventType.d.ts +1 -1
- package/lib/typescript/components/GestureButtonsProps.d.ts +2 -2
- package/lib/typescript/components/Text.d.ts +4 -0
- package/lib/typescript/components/touchables/GenericTouchable.d.ts +1 -1
- package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +2 -2
- package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +2 -0
- package/lib/typescript/handlers/gestures/gesture.d.ts +1 -1
- package/lib/typescript/handlers/utils.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/mocks.d.ts +3 -3
- package/lib/typescript/mountRegistry.d.ts +17 -0
- package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -2
- package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +1 -4
- package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +1 -0
- package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +1 -4
- package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -1
- package/lib/typescript/web/handlers/PanGestureHandler.d.ts +0 -2
- package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +1 -2
- package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +1 -3
- package/lib/typescript/web/handlers/TapGestureHandler.d.ts +0 -2
- package/package.json +18 -17
- package/src/ActionType.ts +1 -1
- package/src/Directions.ts +2 -2
- package/src/EnableNewWebImplementation.ts +18 -0
- package/src/State.ts +1 -1
- package/src/TouchEventType.ts +2 -1
- package/src/components/GestureButtonsProps.ts +4 -2
- package/src/components/Pressable/Pressable.tsx +3 -3
- package/src/components/ReanimatedSwipeable.tsx +8 -8
- package/src/components/Swipeable.tsx +4 -4
- package/src/components/Text.tsx +60 -0
- package/src/components/touchables/GenericTouchable.tsx +1 -1
- package/src/getShadowNodeFromRef.ts +8 -2
- package/src/ghQueueMicrotask.ts +2 -2
- package/src/handlers/GestureHandlerEventPayload.ts +2 -2
- package/src/handlers/createHandler.tsx +14 -1
- package/src/handlers/gestureHandlerCommon.ts +3 -3
- package/src/handlers/gestures/GestureDetector/attachHandlers.ts +3 -0
- package/src/handlers/gestures/GestureDetector/dropHandlers.ts +3 -0
- package/src/handlers/gestures/GestureDetector/index.tsx +3 -0
- package/src/handlers/gestures/GestureDetector/useMountReactions.ts +51 -0
- package/src/handlers/gestures/gesture.ts +3 -3
- package/src/handlers/utils.ts +2 -1
- package/src/index.ts +1 -0
- package/src/jestUtils/jestUtils.ts +10 -12
- package/src/mountRegistry.ts +51 -0
- package/src/web/detectors/ScaleGestureDetector.ts +1 -1
- package/src/web/handlers/FlingGestureHandler.ts +0 -4
- package/src/web/handlers/GestureHandler.ts +1 -3
- package/src/web/handlers/HoverGestureHandler.ts +1 -9
- package/src/web/handlers/LongPressGestureHandler.ts +6 -0
- package/src/web/handlers/ManualGestureHandler.ts +1 -9
- package/src/web/handlers/NativeViewGestureHandler.ts +5 -5
- package/src/web/handlers/PanGestureHandler.ts +0 -4
- package/src/web/handlers/PinchGestureHandler.ts +1 -5
- package/src/web/handlers/RotationGestureHandler.ts +1 -9
- package/src/web/handlers/TapGestureHandler.ts +0 -4
- package/src/web/tools/GestureHandlerWebDelegate.ts +4 -4
- package/src/web_hammer/GestureHandler.ts +1 -1
- package/src/web_hammer/PressGestureHandler.ts +7 -4
@@ -10,26 +10,12 @@ export default class HoverGestureHandler extends GestureHandler {
|
|
10
10
|
_defineProperty(this, "stylusData", void 0);
|
11
11
|
}
|
12
12
|
|
13
|
-
init(ref, propsRef) {
|
14
|
-
super.init(ref, propsRef);
|
15
|
-
}
|
16
|
-
|
17
13
|
transformNativeEvent() {
|
18
14
|
return { ...super.transformNativeEvent(),
|
19
15
|
stylusData: this.stylusData
|
20
16
|
};
|
21
17
|
}
|
22
18
|
|
23
|
-
updateGestureConfig({
|
24
|
-
enabled = true,
|
25
|
-
...props
|
26
|
-
}) {
|
27
|
-
super.updateGestureConfig({
|
28
|
-
enabled: enabled,
|
29
|
-
...props
|
30
|
-
});
|
31
|
-
}
|
32
|
-
|
33
19
|
onPointerMoveOver(event) {
|
34
20
|
GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);
|
35
21
|
this.tracker.addToTracker(event);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["HoverGestureHandler.ts"],"names":["State","GestureHandlerOrchestrator","GestureHandler","HoverGestureHandler","
|
1
|
+
{"version":3,"sources":["HoverGestureHandler.ts"],"names":["State","GestureHandlerOrchestrator","GestureHandler","HoverGestureHandler","transformNativeEvent","stylusData","onPointerMoveOver","event","getInstance","recordHandlerIfNotPresent","tracker","addToTracker","getState","UNDETERMINED","begin","activate","onPointerMoveOut","removeFromTracker","pointerId","end","onPointerMove","track","onPointerCancel","reset"],"mappings":";;AAAA,SAASA,KAAT,QAAsB,aAAtB;AAEA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA,eAAe,MAAMC,mBAAN,SAAkCD,cAAlC,CAAiD;AAAA;AAAA;;AAAA;AAAA;;AAGpDE,EAAAA,oBAAoB,GAA4B;AACxD,WAAO,EACL,GAAG,MAAMA,oBAAN,EADE;AAELC,MAAAA,UAAU,EAAE,KAAKA;AAFZ,KAAP;AAID;;AAESC,EAAAA,iBAAiB,CAACC,KAAD,EAA4B;AACrDN,IAAAA,0BAA0B,CAACO,WAA3B,GAAyCC,yBAAzC,CAAmE,IAAnE;AAEA,SAAKC,OAAL,CAAaC,YAAb,CAA0BJ,KAA1B;AACA,SAAKF,UAAL,GAAkBE,KAAK,CAACF,UAAxB;AACA,UAAMC,iBAAN,CAAwBC,KAAxB;;AAEA,QAAI,KAAKK,QAAL,OAAoBZ,KAAK,CAACa,YAA9B,EAA4C;AAC1C,WAAKC,KAAL;AACA,WAAKC,QAAL;AACD;AACF;;AAESC,EAAAA,gBAAgB,CAACT,KAAD,EAA4B;AACpD,SAAKG,OAAL,CAAaO,iBAAb,CAA+BV,KAAK,CAACW,SAArC;AACA,SAAKb,UAAL,GAAkBE,KAAK,CAACF,UAAxB;AAEA,UAAMW,gBAAN,CAAuBT,KAAvB;AAEA,SAAKY,GAAL;AACD;;AAESC,EAAAA,aAAa,CAACb,KAAD,EAA4B;AACjD,SAAKG,OAAL,CAAaW,KAAb,CAAmBd,KAAnB;AACA,SAAKF,UAAL,GAAkBE,KAAK,CAACF,UAAxB;AAEA,UAAMe,aAAN,CAAoBb,KAApB;AACD;;AAESe,EAAAA,eAAe,CAACf,KAAD,EAA4B;AACnD,UAAMe,eAAN,CAAsBf,KAAtB;AACA,SAAKgB,KAAL;AACD;;AA1C6D","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent, StylusData } from '../interfaces';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport GestureHandler from './GestureHandler';\n\nexport default class HoverGestureHandler extends GestureHandler {\n private stylusData: StylusData | undefined;\n\n protected transformNativeEvent(): Record<string, unknown> {\n return {\n ...super.transformNativeEvent(),\n stylusData: this.stylusData,\n };\n }\n\n protected onPointerMoveOver(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n super.onPointerMoveOver(event);\n\n if (this.getState() === State.UNDETERMINED) {\n this.begin();\n this.activate();\n }\n }\n\n protected onPointerMoveOut(event: AdaptedEvent): void {\n this.tracker.removeFromTracker(event.pointerId);\n this.stylusData = event.stylusData;\n\n super.onPointerMoveOut(event);\n\n this.end();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n super.onPointerMove(event);\n }\n\n protected onPointerCancel(event: AdaptedEvent): void {\n super.onPointerCancel(event);\n this.reset();\n }\n}\n"]}
|
@@ -109,6 +109,12 @@ export default class LongPressGestureHandler extends GestureHandler {
|
|
109
109
|
this.checkDistanceFail();
|
110
110
|
}
|
111
111
|
|
112
|
+
onPointerOutOfBounds(event) {
|
113
|
+
super.onPointerOutOfBounds(event);
|
114
|
+
this.tracker.track(event);
|
115
|
+
this.checkDistanceFail();
|
116
|
+
}
|
117
|
+
|
112
118
|
onPointerUp(event) {
|
113
119
|
super.onPointerUp(event);
|
114
120
|
this.tracker.removeFromTracker(event.pointerId);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["LongPressGestureHandler.ts"],"names":["State","GestureHandler","DEFAULT_MIN_DURATION_MS","DEFAULT_MAX_DIST_DP","SCALING_FACTOR","LongPressGestureHandler","defaultMaxDistSq","init","ref","propsRef","config","enableContextMenu","undefined","transformNativeEvent","duration","Date","now","startTime","updateGestureConfig","enabled","props","minDurationMs","maxDist","maxDistSq","numberOfPointers","resetConfig","onStateChange","_newState","_oldState","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","startX","x","startY","y","tryBegin","tryActivate","tryToSendTouchEvent","onPointerAdd","getTrackedPointersCount","fail","absoluteCoordsAverage","getAbsoluteCoordsAverage","onPointerMove","track","checkDistanceFail","onPointerUp","removeFromTracker","pointerId","currentState","ACTIVE","end","onPointerRemove","getState","UNDETERMINED","previousTime","begin","setTimeout","activate","dx","dy","distSq","cancel"],"mappings":"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
|
1
|
+
{"version":3,"sources":["LongPressGestureHandler.ts"],"names":["State","GestureHandler","DEFAULT_MIN_DURATION_MS","DEFAULT_MAX_DIST_DP","SCALING_FACTOR","LongPressGestureHandler","defaultMaxDistSq","init","ref","propsRef","config","enableContextMenu","undefined","transformNativeEvent","duration","Date","now","startTime","updateGestureConfig","enabled","props","minDurationMs","maxDist","maxDistSq","numberOfPointers","resetConfig","onStateChange","_newState","_oldState","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","startX","x","startY","y","tryBegin","tryActivate","tryToSendTouchEvent","onPointerAdd","getTrackedPointersCount","fail","absoluteCoordsAverage","getAbsoluteCoordsAverage","onPointerMove","track","checkDistanceFail","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","currentState","ACTIVE","end","onPointerRemove","getState","UNDETERMINED","previousTime","begin","setTimeout","activate","dx","dy","distSq","cancel"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_DURATION_MS = 500;\nconst DEFAULT_MAX_DIST_DP = 10;\nconst SCALING_FACTOR = 10;\n\nexport default class LongPressGestureHandler extends GestureHandler {\n private minDurationMs = DEFAULT_MIN_DURATION_MS;\n private defaultMaxDistSq = DEFAULT_MAX_DIST_DP * SCALING_FACTOR;\n\n private maxDistSq = this.defaultMaxDistSq;\n private numberOfPointers = 1;\n private startX = 0;\n private startY = 0;\n\n private startTime = 0;\n private previousTime = 0;\n\n private activationTimeout: number | undefined;\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n if (this.config.enableContextMenu === undefined) {\n this.config.enableContextMenu = false;\n }\n\n super.init(ref, propsRef);\n }\n\n protected transformNativeEvent() {\n return {\n ...super.transformNativeEvent(),\n duration: Date.now() - this.startTime,\n };\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.minDurationMs !== undefined) {\n this.minDurationMs = this.config.minDurationMs;\n }\n\n if (this.config.maxDist !== undefined) {\n this.maxDistSq = this.config.maxDist * this.config.maxDist;\n }\n\n if (this.config.numberOfPointers !== undefined) {\n this.numberOfPointers = this.config.numberOfPointers;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.minDurationMs = DEFAULT_MIN_DURATION_MS;\n this.maxDistSq = this.defaultMaxDistSq;\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {\n clearTimeout(this.activationTimeout);\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.startX = event.x;\n this.startY = event.y;\n\n this.tryBegin();\n this.tryActivate();\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerAdd(event: AdaptedEvent): void {\n super.onPointerAdd(event);\n this.tracker.addToTracker(event);\n\n if (this.tracker.getTrackedPointersCount() > this.numberOfPointers) {\n this.fail();\n return;\n }\n\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n this.startX = absoluteCoordsAverage.x;\n this.startY = absoluteCoordsAverage.y;\n\n this.tryActivate();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n super.onPointerMove(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n super.onPointerOutOfBounds(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (\n this.tracker.getTrackedPointersCount() < this.numberOfPointers &&\n this.getState() !== State.ACTIVE\n ) {\n this.fail();\n }\n }\n\n private tryBegin(): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.previousTime = Date.now();\n this.startTime = this.previousTime;\n\n this.begin();\n }\n\n private tryActivate(): void {\n if (this.tracker.getTrackedPointersCount() !== this.numberOfPointers) {\n return;\n }\n\n if (this.minDurationMs > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.minDurationMs);\n } else if (this.minDurationMs === 0) {\n this.activate();\n }\n }\n\n private checkDistanceFail(): void {\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n const dx = absoluteCoordsAverage.x - this.startX;\n const dy = absoluteCoordsAverage.y - this.startY;\n const distSq = dx * dx + dy * dy;\n\n if (distSq <= this.maxDistSq) {\n return;\n }\n\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n }\n}\n"]}
|
@@ -1,19 +1,5 @@
|
|
1
1
|
import GestureHandler from './GestureHandler';
|
2
2
|
export default class ManualGestureHandler extends GestureHandler {
|
3
|
-
init(ref, propsRef) {
|
4
|
-
super.init(ref, propsRef);
|
5
|
-
}
|
6
|
-
|
7
|
-
updateGestureConfig({
|
8
|
-
enabled = true,
|
9
|
-
...props
|
10
|
-
}) {
|
11
|
-
super.updateGestureConfig({
|
12
|
-
enabled: enabled,
|
13
|
-
...props
|
14
|
-
});
|
15
|
-
}
|
16
|
-
|
17
3
|
onPointerDown(event) {
|
18
4
|
this.tracker.addToTracker(event);
|
19
5
|
super.onPointerDown(event);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["ManualGestureHandler.ts"],"names":["GestureHandler","ManualGestureHandler","
|
1
|
+
{"version":3,"sources":["ManualGestureHandler.ts"],"names":["GestureHandler","ManualGestureHandler","onPointerDown","event","tracker","addToTracker","begin","tryToSendTouchEvent","onPointerAdd","onPointerMove","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","onPointerRemove"],"mappings":"AACA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAe,MAAMC,oBAAN,SAAmCD,cAAnC,CAAkD;AACrDE,EAAAA,aAAa,CAACC,KAAD,EAA4B;AACjD,SAAKC,OAAL,CAAaC,YAAb,CAA0BF,KAA1B;AACA,UAAMD,aAAN,CAAoBC,KAApB;AACA,SAAKG,KAAL;AAEA,SAAKC,mBAAL,CAAyBJ,KAAzB;AACD;;AAESK,EAAAA,YAAY,CAACL,KAAD,EAA4B;AAChD,SAAKC,OAAL,CAAaC,YAAb,CAA0BF,KAA1B;AACA,UAAMK,YAAN,CAAmBL,KAAnB;AACD;;AAESM,EAAAA,aAAa,CAACN,KAAD,EAA4B;AACjD,SAAKC,OAAL,CAAaM,KAAb,CAAmBP,KAAnB;AACA,UAAMM,aAAN,CAAoBN,KAApB;AACD;;AAESQ,EAAAA,oBAAoB,CAACR,KAAD,EAA4B;AACxD,SAAKC,OAAL,CAAaM,KAAb,CAAmBP,KAAnB;AACA,UAAMQ,oBAAN,CAA2BR,KAA3B;AACD;;AAESS,EAAAA,WAAW,CAACT,KAAD,EAA4B;AAC/C,UAAMS,WAAN,CAAkBT,KAAlB;AACA,SAAKC,OAAL,CAAaS,iBAAb,CAA+BV,KAAK,CAACW,SAArC;AACD;;AAESC,EAAAA,eAAe,CAACZ,KAAD,EAA4B;AACnD,UAAMY,eAAN,CAAsBZ,KAAtB;AACA,SAAKC,OAAL,CAAaS,iBAAb,CAA+BV,KAAK,CAACW,SAArC;AACD;;AAhC8D","sourcesContent":["import { AdaptedEvent } from '../interfaces';\nimport GestureHandler from './GestureHandler';\n\nexport default class ManualGestureHandler extends GestureHandler {\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n this.begin();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.tracker.track(event);\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n }\n}\n"]}
|
@@ -65,10 +65,6 @@ export default class NativeViewGestureHandler extends GestureHandler {
|
|
65
65
|
view.style['WebkitTouchCallout'] = 'auto';
|
66
66
|
}
|
67
67
|
|
68
|
-
resetConfig() {
|
69
|
-
super.resetConfig();
|
70
|
-
}
|
71
|
-
|
72
68
|
onPointerDown(event) {
|
73
69
|
this.tracker.addToTracker(event);
|
74
70
|
super.onPointerDown(event);
|
@@ -92,8 +88,10 @@ export default class NativeViewGestureHandler extends GestureHandler {
|
|
92
88
|
}
|
93
89
|
|
94
90
|
this.begin();
|
91
|
+
const view = this.delegate.getView();
|
92
|
+
const isRNGHText = view.hasAttribute('rnghtext');
|
95
93
|
|
96
|
-
if (this.buttonRole) {
|
94
|
+
if (this.buttonRole || isRNGHText) {
|
97
95
|
this.activate();
|
98
96
|
}
|
99
97
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["NativeViewGestureHandler.ts"],"names":["Platform","State","DEFAULT_TOUCH_SLOP","GestureHandler","NativeViewGestureHandler","init","ref","propsRef","setShouldCancelWhenOutside","OS","view","delegate","getView","restoreViewStyles","buttonRole","getAttribute","updateGestureConfig","enabled","props","config","shouldActivateOnStart","undefined","disallowInterruption","style","
|
1
|
+
{"version":3,"sources":["NativeViewGestureHandler.ts"],"names":["Platform","State","DEFAULT_TOUCH_SLOP","GestureHandler","NativeViewGestureHandler","init","ref","propsRef","setShouldCancelWhenOutside","OS","view","delegate","getView","restoreViewStyles","buttonRole","getAttribute","updateGestureConfig","enabled","props","config","shouldActivateOnStart","undefined","disallowInterruption","style","onPointerDown","event","tracker","addToTracker","newPointerAction","tryToSendTouchEvent","onPointerAdd","lastCoords","getAbsoluteCoordsAverage","startX","x","startY","y","currentState","UNDETERMINED","begin","isRNGHText","hasAttribute","activate","onPointerMove","track","dx","dy","distSq","minDistSq","ACTIVE","cancel","BEGAN","onPointerLeave","onPointerUp","onUp","onPointerRemove","removeFromTracker","pointerId","getTrackedPointersCount","end","fail","shouldRecognizeSimultaneously","handler","getState","disallowsInterruption","canBeInterrupted","getTag","shouldBeCancelledByOther","_handler","isButton"],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\nimport { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nexport default class NativeViewGestureHandler extends GestureHandler {\n private buttonRole!: boolean;\n\n // TODO: Implement logic for activation on start\n // @ts-ignore Logic yet to be implemented\n private shouldActivateOnStart = false;\n private disallowInterruption = false;\n\n private startX = 0;\n private startY = 0;\n private minDistSq = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n\n this.setShouldCancelWhenOutside(true);\n\n if (Platform.OS !== 'web') {\n return;\n }\n\n const view = this.delegate.getView() as HTMLElement;\n\n this.restoreViewStyles(view);\n this.buttonRole = view.getAttribute('role') === 'button';\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.shouldActivateOnStart !== undefined) {\n this.shouldActivateOnStart = this.config.shouldActivateOnStart;\n }\n if (this.config.disallowInterruption !== undefined) {\n this.disallowInterruption = this.config.disallowInterruption;\n }\n\n const view = this.delegate.getView() as HTMLElement;\n this.restoreViewStyles(view);\n }\n\n private restoreViewStyles(view: HTMLElement) {\n if (!view) {\n return;\n }\n\n view.style['touchAction'] = 'auto';\n // @ts-ignore Turns on defualt touch behavior on Safari\n view.style['WebkitTouchCallout'] = 'auto';\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n this.newPointerAction();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.newPointerAction();\n }\n\n private newPointerAction(): void {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.startX = lastCoords.x;\n this.startY = lastCoords.y;\n\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n\n const view = this.delegate.getView() as HTMLElement;\n const isRNGHText = view.hasAttribute('rnghtext');\n\n if (this.buttonRole || isRNGHText) {\n this.activate();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n const dx = this.startX - lastCoords.x;\n const dy = this.startY - lastCoords.y;\n const distSq = dx * dx + dy * dy;\n\n if (distSq >= this.minDistSq) {\n if (this.buttonRole && this.currentState === State.ACTIVE) {\n this.cancel();\n } else if (!this.buttonRole && this.currentState === State.BEGAN) {\n this.activate();\n }\n }\n }\n\n protected onPointerLeave(): void {\n if (\n this.currentState === State.BEGAN ||\n this.currentState === State.ACTIVE\n ) {\n this.cancel();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.onUp(event);\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.onUp(event);\n }\n\n private onUp(event: AdaptedEvent): void {\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.getTrackedPointersCount() === 0) {\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n }\n\n public shouldRecognizeSimultaneously(handler: GestureHandler): boolean {\n if (super.shouldRecognizeSimultaneously(handler)) {\n return true;\n }\n\n if (\n handler instanceof NativeViewGestureHandler &&\n handler.getState() === State.ACTIVE &&\n handler.disallowsInterruption()\n ) {\n return false;\n }\n\n const canBeInterrupted = !this.disallowInterruption;\n\n if (\n this.currentState === State.ACTIVE &&\n handler.getState() === State.ACTIVE &&\n canBeInterrupted\n ) {\n return false;\n }\n\n return (\n this.currentState === State.ACTIVE &&\n canBeInterrupted &&\n handler.getTag() > 0\n );\n }\n\n public shouldBeCancelledByOther(_handler: GestureHandler): boolean {\n return !this.disallowInterruption;\n }\n\n public disallowsInterruption(): boolean {\n return this.disallowInterruption;\n }\n\n public isButton(): boolean {\n return this.buttonRole;\n }\n}\n"]}
|
@@ -70,10 +70,6 @@ export default class PanGestureHandler extends GestureHandler {
|
|
70
70
|
_defineProperty(this, "wheelDevice", WheelDevice.UNDETERMINED);
|
71
71
|
}
|
72
72
|
|
73
|
-
init(ref, propsRef) {
|
74
|
-
super.init(ref, propsRef);
|
75
|
-
}
|
76
|
-
|
77
73
|
updateGestureConfig({
|
78
74
|
enabled = true,
|
79
75
|
...props
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["PanGestureHandler.ts"],"names":["State","DEFAULT_TOUCH_SLOP","WheelDevice","GestureHandler","DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","PanGestureHandler","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","UNDETERMINED","init","ref","propsRef","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","enableTrackpadTwoFingerGesture","minVelocitySq","transformNativeEvent","translationX","getTranslationX","translationY","getTranslationY","isNaN","velocityX","velocityY","stylusData","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","lastCoords","getAbsoluteCoordsAverage","x","y","tryBegin","checkBegan","tryToSendTouchEvent","onPointerAdd","getTrackedPointersCount","currentState","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","velocity","getVelocity","onPointerOutOfBounds","getShouldCancelWhenOutside","scheduleWheelEnd","endWheelTimeout","setTimeout","wheelDevice","onWheel","MOUSE","wheelDeltaY","TOUCHPAD","begin","activate","tryToSendMoveEvent","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","BEGAN","force","onCancel","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config, StylusData, WheelDevice } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private stylusData: StylusData | undefined;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n private enableTrackpadTwoFingerGesture = false;\n private endWheelTimeout = 0;\n private wheelDevice = WheelDevice.UNDETERMINED;\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.enableTrackpadTwoFingerGesture !== undefined) {\n this.enableTrackpadTwoFingerGesture =\n this.config.enableTrackpadTwoFingerGesture;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n stylusData: this.stylusData,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.getTrackedPointersCount() > this.maxPointers) {\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n this.stylusData = event.stylusData;\n\n super.onPointerUp(event);\n if (this.currentState === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.getTrackedPointersCount() === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.getShouldCancelWhenOutside()) {\n return;\n }\n\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.currentState === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private scheduleWheelEnd(event: AdaptedEvent) {\n clearTimeout(this.endWheelTimeout);\n\n this.endWheelTimeout = setTimeout(() => {\n if (this.currentState === State.ACTIVE) {\n this.end();\n this.tracker.removeFromTracker(event.pointerId);\n this.currentState = State.UNDETERMINED;\n }\n\n this.wheelDevice = WheelDevice.UNDETERMINED;\n }, 30);\n }\n\n protected onWheel(event: AdaptedEvent): void {\n if (\n this.wheelDevice === WheelDevice.MOUSE ||\n !this.enableTrackpadTwoFingerGesture\n ) {\n return;\n }\n\n if (this.currentState === State.UNDETERMINED) {\n this.wheelDevice =\n event.wheelDeltaY! % 120 !== 0\n ? WheelDevice.TOUCHPAD\n : WheelDevice.MOUSE;\n\n if (this.wheelDevice === WheelDevice.MOUSE) {\n this.scheduleWheelEnd(event);\n return;\n }\n\n this.tracker.addToTracker(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.begin();\n this.activate();\n }\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.tryToSendMoveEvent(false, event);\n this.scheduleWheelEnd(event);\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.currentState === State.UNDETERMINED &&\n this.tracker.getTrackedPointersCount() >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.currentState === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["PanGestureHandler.ts"],"names":["State","DEFAULT_TOUCH_SLOP","WheelDevice","GestureHandler","DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","PanGestureHandler","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","UNDETERMINED","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","enableTrackpadTwoFingerGesture","minVelocitySq","transformNativeEvent","translationX","getTranslationX","translationY","getTranslationY","isNaN","velocityX","velocityY","stylusData","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","isButtonInConfig","button","tracker","addToTracker","lastCoords","getAbsoluteCoordsAverage","x","y","tryBegin","checkBegan","tryToSendTouchEvent","onPointerAdd","getTrackedPointersCount","currentState","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","velocity","getVelocity","onPointerOutOfBounds","getShouldCancelWhenOutside","scheduleWheelEnd","endWheelTimeout","setTimeout","wheelDevice","onWheel","MOUSE","wheelDeltaY","TOUCHPAD","begin","activate","tryToSendMoveEvent","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","BEGAN","force","onCancel","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config, StylusData, WheelDevice } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private stylusData: StylusData | undefined;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n private enableTrackpadTwoFingerGesture = false;\n private endWheelTimeout = 0;\n private wheelDevice = WheelDevice.UNDETERMINED;\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.enableTrackpadTwoFingerGesture !== undefined) {\n this.enableTrackpadTwoFingerGesture =\n this.config.enableTrackpadTwoFingerGesture;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n stylusData: this.stylusData,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.stylusData = event.stylusData;\n\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.getTrackedPointersCount() > this.maxPointers) {\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n this.stylusData = event.stylusData;\n\n super.onPointerUp(event);\n if (this.currentState === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.getTrackedPointersCount() === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.getShouldCancelWhenOutside()) {\n return;\n }\n\n this.tracker.track(event);\n this.stylusData = event.stylusData;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.currentState === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private scheduleWheelEnd(event: AdaptedEvent) {\n clearTimeout(this.endWheelTimeout);\n\n this.endWheelTimeout = setTimeout(() => {\n if (this.currentState === State.ACTIVE) {\n this.end();\n this.tracker.removeFromTracker(event.pointerId);\n this.currentState = State.UNDETERMINED;\n }\n\n this.wheelDevice = WheelDevice.UNDETERMINED;\n }, 30);\n }\n\n protected onWheel(event: AdaptedEvent): void {\n if (\n this.wheelDevice === WheelDevice.MOUSE ||\n !this.enableTrackpadTwoFingerGesture\n ) {\n return;\n }\n\n if (this.currentState === State.UNDETERMINED) {\n this.wheelDevice =\n event.wheelDeltaY! % 120 !== 0\n ? WheelDevice.TOUCHPAD\n : WheelDevice.MOUSE;\n\n if (this.wheelDevice === WheelDevice.MOUSE) {\n this.scheduleWheelEnd(event);\n return;\n }\n\n this.tracker.addToTracker(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.begin();\n this.activate();\n }\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.tryToSendMoveEvent(false, event);\n this.scheduleWheelEnd(event);\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.currentState === State.UNDETERMINED &&\n this.tracker.getTrackedPointersCount() >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.currentState === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"]}
|
@@ -47,16 +47,6 @@ export default class PinchGestureHandler extends GestureHandler {
|
|
47
47
|
this.setShouldCancelWhenOutside(false);
|
48
48
|
}
|
49
49
|
|
50
|
-
updateGestureConfig({
|
51
|
-
enabled = true,
|
52
|
-
...props
|
53
|
-
}) {
|
54
|
-
super.updateGestureConfig({
|
55
|
-
enabled: enabled,
|
56
|
-
...props
|
57
|
-
});
|
58
|
-
}
|
59
|
-
|
60
50
|
transformNativeEvent() {
|
61
51
|
return {
|
62
52
|
focalX: this.scaleGestureDetector.getFocusX(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["PinchGestureHandler.ts"],"names":["State","DEFAULT_TOUCH_SLOP","GestureHandler","ScaleGestureDetector","PinchGestureHandler","onScaleBegin","detector","startingSpan","getCurrentSpan","onScale","prevScaleFactor","scale","getScaleFactor","tracker","getTrackedPointersCount","delta","getTimeDelta","velocity","Math","abs","spanSlop","currentState","BEGAN","activate","onScaleEnd","_detector","scaleDetectorListener","init","ref","propsRef","setShouldCancelWhenOutside","
|
1
|
+
{"version":3,"sources":["PinchGestureHandler.ts"],"names":["State","DEFAULT_TOUCH_SLOP","GestureHandler","ScaleGestureDetector","PinchGestureHandler","onScaleBegin","detector","startingSpan","getCurrentSpan","onScale","prevScaleFactor","scale","getScaleFactor","tracker","getTrackedPointersCount","delta","getTimeDelta","velocity","Math","abs","spanSlop","currentState","BEGAN","activate","onScaleEnd","_detector","scaleDetectorListener","init","ref","propsRef","setShouldCancelWhenOutside","transformNativeEvent","focalX","scaleGestureDetector","getFocusX","focalY","getFocusY","onPointerDown","event","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerUp","removeFromTracker","pointerId","ACTIVE","end","fail","onPointerRemove","onPointerMove","track","onPointerOutOfBounds","UNDETERMINED","resetProgress","begin","force","onReset"],"mappings":"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","sourcesContent":["import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport ScaleGestureDetector, {\n ScaleGestureListener,\n} from '../detectors/ScaleGestureDetector';\n\nexport default class PinchGestureHandler extends GestureHandler {\n private scale = 1;\n private velocity = 0;\n\n private startingSpan = 0;\n private spanSlop = DEFAULT_TOUCH_SLOP;\n\n private scaleDetectorListener: ScaleGestureListener = {\n onScaleBegin: (detector: ScaleGestureDetector): boolean => {\n this.startingSpan = detector.getCurrentSpan();\n return true;\n },\n onScale: (detector: ScaleGestureDetector): boolean => {\n const prevScaleFactor: number = this.scale;\n this.scale *= detector.getScaleFactor(\n this.tracker.getTrackedPointersCount()\n );\n\n const delta = detector.getTimeDelta();\n if (delta > 0) {\n this.velocity = (this.scale - prevScaleFactor) / delta;\n }\n\n if (\n Math.abs(this.startingSpan - detector.getCurrentSpan()) >=\n this.spanSlop &&\n this.currentState === State.BEGAN\n ) {\n this.activate();\n }\n return true;\n },\n onScaleEnd: (\n _detector: ScaleGestureDetector\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ): void => {},\n };\n\n private scaleGestureDetector: ScaleGestureDetector = new ScaleGestureDetector(\n this.scaleDetectorListener\n );\n\n public init(ref: number, propsRef: React.RefObject<unknown>) {\n super.init(ref, propsRef);\n\n this.setShouldCancelWhenOutside(false);\n }\n\n protected transformNativeEvent() {\n return {\n focalX: this.scaleGestureDetector.getFocusX(),\n focalY: this.scaleGestureDetector.getFocusY(),\n velocity: this.velocity,\n scale: this.scale,\n };\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin();\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n if (this.currentState !== State.ACTIVE) {\n return;\n }\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < 2\n ) {\n this.end();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerMove(event);\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerOutOfBounds(event);\n }\n\n private tryBegin(): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.resetProgress();\n this.begin();\n }\n\n public activate(force?: boolean): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onReset(): void {\n this.resetProgress();\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n this.velocity = 0;\n this.scale = 1;\n }\n}\n"]}
|
@@ -46,16 +46,6 @@ export default class RotationGestureHandler extends GestureHandler {
|
|
46
46
|
this.setShouldCancelWhenOutside(false);
|
47
47
|
}
|
48
48
|
|
49
|
-
updateGestureConfig({
|
50
|
-
enabled = true,
|
51
|
-
...props
|
52
|
-
}) {
|
53
|
-
super.updateGestureConfig({
|
54
|
-
enabled: enabled,
|
55
|
-
...props
|
56
|
-
});
|
57
|
-
}
|
58
|
-
|
59
49
|
transformNativeEvent() {
|
60
50
|
return {
|
61
51
|
rotation: this.rotation ? this.rotation : 0,
|
@@ -154,10 +144,6 @@ export default class RotationGestureHandler extends GestureHandler {
|
|
154
144
|
this.begin();
|
155
145
|
}
|
156
146
|
|
157
|
-
activate(_force) {
|
158
|
-
super.activate();
|
159
|
-
}
|
160
|
-
|
161
147
|
onReset() {
|
162
148
|
if (this.currentState === State.ACTIVE) {
|
163
149
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["RotationGestureHandler.ts"],"names":["State","GestureHandler","RotationGestureDetector","ROTATION_RECOGNITION_THRESHOLD","Math","PI","RotationGestureHandler","onRotationBegin","_detector","onRotation","detector","previousRotation","rotation","getRotation","delta","getTimeDelta","velocity","abs","currentState","BEGAN","activate","onRotationEnd","end","rotationGestureListener","init","ref","propsRef","setShouldCancelWhenOutside","
|
1
|
+
{"version":3,"sources":["RotationGestureHandler.ts"],"names":["State","GestureHandler","RotationGestureDetector","ROTATION_RECOGNITION_THRESHOLD","Math","PI","RotationGestureHandler","onRotationBegin","_detector","onRotation","detector","previousRotation","rotation","getRotation","delta","getTimeDelta","velocity","abs","currentState","BEGAN","activate","onRotationEnd","end","rotationGestureListener","init","ref","propsRef","setShouldCancelWhenOutside","transformNativeEvent","anchorX","getAnchorX","anchorY","getAnchorY","rotationGestureDetector","cachedAnchorX","cachedAnchorY","onPointerDown","event","tracker","addToTracker","tryToSendTouchEvent","onPointerAdd","tryBegin","onTouchEvent","onPointerMove","getTrackedPointersCount","track","onPointerOutOfBounds","onPointerUp","removeFromTracker","pointerId","ACTIVE","fail","onPointerRemove","UNDETERMINED","begin","onReset","reset"],"mappings":";;AAAA,SAASA,KAAT,QAAsB,aAAtB;AAGA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,uBAAP,MAEO,sCAFP;AAIA,MAAMC,8BAA8B,GAAGC,IAAI,CAACC,EAAL,GAAU,EAAjD;AAEA,eAAe,MAAMC,sBAAN,SAAqCL,cAArC,CAAoD;AAAA;AAAA;;AAAA,sCAC9C,CAD8C;;AAAA,sCAE9C,CAF8C;;AAAA,2CAIzC,CAJyC;;AAAA,2CAKzC,CALyC;;AAAA,qDAON;AACzDM,MAAAA,eAAe,EAAGC,SAAD,IAAiD,IADT;AAEzDC,MAAAA,UAAU,EAAGC,QAAD,IAAgD;AAC1D,cAAMC,gBAAwB,GAAG,KAAKC,QAAtC;AACA,aAAKA,QAAL,IAAiBF,QAAQ,CAACG,WAAT,EAAjB;AAEA,cAAMC,KAAK,GAAGJ,QAAQ,CAACK,YAAT,EAAd;;AAEA,YAAID,KAAK,GAAG,CAAZ,EAAe;AACb,eAAKE,QAAL,GAAgB,CAAC,KAAKJ,QAAL,GAAgBD,gBAAjB,IAAqCG,KAArD;AACD;;AAED,YACEV,IAAI,CAACa,GAAL,CAAS,KAAKL,QAAd,KAA2BT,8BAA3B,IACA,KAAKe,YAAL,KAAsBlB,KAAK,CAACmB,KAF9B,EAGE;AACA,eAAKC,QAAL;AACD;;AAED,eAAO,IAAP;AACD,OApBwD;AAqBzDC,MAAAA,aAAa,EAAGb,SAAD,IAA8C;AAC3D,aAAKc,GAAL;AACD;AAvBwD,KAPM;;AAAA,qDAkC/D,IAAIpB,uBAAJ,CAA4B,KAAKqB,uBAAjC,CAlC+D;AAAA;;AAoC1DC,EAAAA,IAAI,CAACC,GAAD,EAAcC,QAAd,EAAwD;AACjE,UAAMF,IAAN,CAAWC,GAAX,EAAgBC,QAAhB;AAEA,SAAKC,0BAAL,CAAgC,KAAhC;AACD;;AAESC,EAAAA,oBAAoB,GAAG;AAC/B,WAAO;AACLhB,MAAAA,QAAQ,EAAE,KAAKA,QAAL,GAAgB,KAAKA,QAArB,GAAgC,CADrC;AAELiB,MAAAA,OAAO,EAAE,KAAKC,UAAL,EAFJ;AAGLC,MAAAA,OAAO,EAAE,KAAKC,UAAL,EAHJ;AAILhB,MAAAA,QAAQ,EAAE,KAAKA,QAAL,GAAgB,KAAKA,QAArB,GAAgC;AAJrC,KAAP;AAMD;;AAEMc,EAAAA,UAAU,GAAW;AAC1B,UAAMD,OAAO,GAAG,KAAKI,uBAAL,CAA6BH,UAA7B,EAAhB;AAEA,WAAOD,OAAO,GAAGA,OAAH,GAAa,KAAKK,aAAhC;AACD;;AAEMF,EAAAA,UAAU,GAAW;AAC1B,UAAMD,OAAO,GAAG,KAAKE,uBAAL,CAA6BD,UAA7B,EAAhB;AAEA,WAAOD,OAAO,GAAGA,OAAH,GAAa,KAAKI,aAAhC;AACD;;AAESC,EAAAA,aAAa,CAACC,KAAD,EAA4B;AACjD,SAAKC,OAAL,CAAaC,YAAb,CAA0BF,KAA1B;AACA,UAAMD,aAAN,CAAoBC,KAApB;AAEA,SAAKG,mBAAL,CAAyBH,KAAzB;AACD;;AAESI,EAAAA,YAAY,CAACJ,KAAD,EAA4B;AAChD,SAAKC,OAAL,CAAaC,YAAb,CAA0BF,KAA1B;AACA,UAAMI,YAAN,CAAmBJ,KAAnB;AAEA,SAAKK,QAAL;AACA,SAAKT,uBAAL,CAA6BU,YAA7B,CAA0CN,KAA1C,EAAiD,KAAKC,OAAtD;AACD;;AAESM,EAAAA,aAAa,CAACP,KAAD,EAA4B;AACjD,QAAI,KAAKC,OAAL,CAAaO,uBAAb,KAAyC,CAA7C,EAAgD;AAC9C;AACD;;AAED,QAAI,KAAKf,UAAL,EAAJ,EAAuB;AACrB,WAAKI,aAAL,GAAqB,KAAKJ,UAAL,EAArB;AACD;;AACD,QAAI,KAAKE,UAAL,EAAJ,EAAuB;AACrB,WAAKG,aAAL,GAAqB,KAAKH,UAAL,EAArB;AACD;;AAED,SAAKM,OAAL,CAAaQ,KAAb,CAAmBT,KAAnB;AAEA,SAAKJ,uBAAL,CAA6BU,YAA7B,CAA0CN,KAA1C,EAAiD,KAAKC,OAAtD;AAEA,UAAMM,aAAN,CAAoBP,KAApB;AACD;;AAESU,EAAAA,oBAAoB,CAACV,KAAD,EAA4B;AACxD,QAAI,KAAKC,OAAL,CAAaO,uBAAb,KAAyC,CAA7C,EAAgD;AAC9C;AACD;;AAED,QAAI,KAAKf,UAAL,EAAJ,EAAuB;AACrB,WAAKI,aAAL,GAAqB,KAAKJ,UAAL,EAArB;AACD;;AACD,QAAI,KAAKE,UAAL,EAAJ,EAAuB;AACrB,WAAKG,aAAL,GAAqB,KAAKH,UAAL,EAArB;AACD;;AAED,SAAKM,OAAL,CAAaQ,KAAb,CAAmBT,KAAnB;AAEA,SAAKJ,uBAAL,CAA6BU,YAA7B,CAA0CN,KAA1C,EAAiD,KAAKC,OAAtD;AAEA,UAAMS,oBAAN,CAA2BV,KAA3B;AACD;;AAESW,EAAAA,WAAW,CAACX,KAAD,EAA4B;AAC/C,UAAMW,WAAN,CAAkBX,KAAlB;AACA,SAAKC,OAAL,CAAaW,iBAAb,CAA+BZ,KAAK,CAACa,SAArC;AACA,SAAKjB,uBAAL,CAA6BU,YAA7B,CAA0CN,KAA1C,EAAiD,KAAKC,OAAtD;;AAEA,QAAI,KAAKpB,YAAL,KAAsBlB,KAAK,CAACmD,MAAhC,EAAwC;AACtC;AACD;;AAED,QAAI,KAAKjC,YAAL,KAAsBlB,KAAK,CAACmD,MAAhC,EAAwC;AACtC,WAAK7B,GAAL;AACD,KAFD,MAEO;AACL,WAAK8B,IAAL;AACD;AACF;;AAESC,EAAAA,eAAe,CAAChB,KAAD,EAA4B;AACnD,UAAMgB,eAAN,CAAsBhB,KAAtB;AACA,SAAKJ,uBAAL,CAA6BU,YAA7B,CAA0CN,KAA1C,EAAiD,KAAKC,OAAtD;AACA,SAAKA,OAAL,CAAaW,iBAAb,CAA+BZ,KAAK,CAACa,SAArC;AACD;;AAESR,EAAAA,QAAQ,GAAS;AACzB,QAAI,KAAKxB,YAAL,KAAsBlB,KAAK,CAACsD,YAAhC,EAA8C;AAC5C;AACD;;AAED,SAAKC,KAAL;AACD;;AAESC,EAAAA,OAAO,GAAS;AACxB,QAAI,KAAKtC,YAAL,KAAsBlB,KAAK,CAACmD,MAAhC,EAAwC;AACtC;AACD;;AAED,SAAKvC,QAAL,GAAgB,CAAhB;AACA,SAAKI,QAAL,GAAgB,CAAhB;AACA,SAAKiB,uBAAL,CAA6BwB,KAA7B;AACD;;AA1JgE","sourcesContent":["import { State } from '../../State';\nimport { AdaptedEvent } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport RotationGestureDetector, {\n RotationGestureListener,\n} from '../detectors/RotationGestureDetector';\n\nconst ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;\n\nexport default class RotationGestureHandler extends GestureHandler {\n private rotation = 0;\n private velocity = 0;\n\n private cachedAnchorX = 0;\n private cachedAnchorY = 0;\n\n private rotationGestureListener: RotationGestureListener = {\n onRotationBegin: (_detector: RotationGestureDetector): boolean => true,\n onRotation: (detector: RotationGestureDetector): boolean => {\n const previousRotation: number = this.rotation;\n this.rotation += detector.getRotation();\n\n const delta = detector.getTimeDelta();\n\n if (delta > 0) {\n this.velocity = (this.rotation - previousRotation) / delta;\n }\n\n if (\n Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD &&\n this.currentState === State.BEGAN\n ) {\n this.activate();\n }\n\n return true;\n },\n onRotationEnd: (_detector: RotationGestureDetector): void => {\n this.end();\n },\n };\n\n private rotationGestureDetector: RotationGestureDetector =\n new RotationGestureDetector(this.rotationGestureListener);\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n\n this.setShouldCancelWhenOutside(false);\n }\n\n protected transformNativeEvent() {\n return {\n rotation: this.rotation ? this.rotation : 0,\n anchorX: this.getAnchorX(),\n anchorY: this.getAnchorY(),\n velocity: this.velocity ? this.velocity : 0,\n };\n }\n\n public getAnchorX(): number {\n const anchorX = this.rotationGestureDetector.getAnchorX();\n\n return anchorX ? anchorX : this.cachedAnchorX;\n }\n\n public getAnchorY(): number {\n const anchorY = this.rotationGestureDetector.getAnchorY();\n\n return anchorY ? anchorY : this.cachedAnchorY;\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n\n this.tryBegin();\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.currentState !== State.ACTIVE) {\n return;\n }\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected tryBegin(): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n }\n\n protected onReset(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.rotation = 0;\n this.velocity = 0;\n this.rotationGestureDetector.reset();\n }\n}\n"]}
|