react-native-gesture-handler 2.14.1 → 2.16.0-rc.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -0
- package/RNGestureHandler.podspec +3 -24
- package/android/build.gradle +1 -1
- package/android/paper/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +55 -0
- package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +69 -4
- package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +4 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +69 -0
- package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +37 -21
- package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +5 -1
- package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +5 -1
- package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +7 -3
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +61 -24
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +3 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +3 -0
- package/android/src/main/jni/cpp-adapter.cpp +18 -22
- package/{ios → apple}/Handlers/RNFlingHandler.m +29 -8
- package/{ios → apple}/Handlers/RNForceTouchHandler.m +28 -8
- package/{ios → apple}/Handlers/RNHoverHandler.m +28 -2
- package/{ios → apple}/Handlers/RNLongPressHandler.m +27 -5
- package/{ios → apple}/Handlers/RNManualHandler.m +25 -4
- package/{ios → apple}/Handlers/RNNativeViewHandler.mm +51 -13
- package/{ios → apple}/Handlers/RNPanHandler.m +106 -16
- package/apple/Handlers/RNPinchHandler.m +175 -0
- package/apple/Handlers/RNRotationHandler.m +169 -0
- package/{ios → apple}/Handlers/RNTapHandler.m +98 -26
- package/apple/RNGHUIKit.h +27 -0
- package/{ios → apple}/RNGestureHandler.h +12 -3
- package/{ios → apple}/RNGestureHandler.m +68 -7
- package/{ios → apple}/RNGestureHandlerButton.h +4 -1
- package/{ios → apple}/RNGestureHandlerButton.m +12 -4
- package/{ios → apple}/RNGestureHandlerButtonManager.m +4 -2
- package/{ios → apple}/RNGestureHandlerEvents.h +19 -10
- package/{ios → apple}/RNGestureHandlerEvents.m +29 -11
- package/{ios → apple}/RNGestureHandlerManager.h +7 -2
- package/{ios → apple}/RNGestureHandlerManager.mm +78 -17
- package/apple/RNGestureHandlerModule.h +19 -0
- package/{ios → apple}/RNGestureHandlerModule.mm +69 -69
- package/{ios → apple}/RNGestureHandlerPointerTracker.h +5 -5
- package/{ios → apple}/RNGestureHandlerPointerTracker.m +19 -14
- package/apple/RNGestureHandlerPointerType.h +8 -0
- package/{ios → apple}/RNGestureHandlerRegistry.h +1 -1
- package/{ios → apple}/RNGestureHandlerRegistry.m +1 -1
- package/{ios → apple}/RNManualActivationRecognizer.h +8 -0
- package/{ios → apple}/RNManualActivationRecognizer.m +27 -7
- package/{ios → apple}/RNRootViewGestureRecognizer.m +72 -4
- package/lib/commonjs/PointerType.js +16 -0
- package/lib/commonjs/PointerType.js.map +1 -0
- package/lib/commonjs/RNGestureHandlerModule.js +5 -18
- package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
- package/lib/commonjs/RNGestureHandlerModule.windows.js +10 -102
- package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +2 -0
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.android.js +17 -2
- package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.js +15 -2
- package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
- package/lib/commonjs/components/GestureHandlerRootView.web.js +15 -2
- package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/commonjs/getShadowNodeFromRef.js +19 -2
- package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +5 -0
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js +1 -1
- package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector.js +11 -1
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/commonjs/handlers/gestures/gesture.js +5 -0
- package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
- package/lib/commonjs/index.js +16 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +13 -0
- package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +4 -0
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +19 -4
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +8 -6
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +4 -0
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +4 -0
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/interfaces.js +12 -24
- package/lib/commonjs/web/interfaces.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +3 -3
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +35 -0
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +3 -2
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerEventManager.js +40 -10
- package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
- package/lib/commonjs/web/tools/TouchEventManager.js +3 -2
- package/lib/commonjs/web/tools/TouchEventManager.js.map +1 -1
- package/lib/commonjs/web/utils.js +6 -0
- package/lib/commonjs/web/utils.js.map +1 -1
- package/lib/module/PointerType.js +9 -0
- package/lib/module/PointerType.js.map +1 -0
- package/lib/module/RNGestureHandlerModule.js +4 -18
- package/lib/module/RNGestureHandlerModule.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.windows.js +10 -81
- package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +2 -0
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.android.js +15 -2
- package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.js +15 -3
- package/lib/module/components/GestureHandlerRootView.js.map +1 -1
- package/lib/module/components/GestureHandlerRootView.web.js +15 -3
- package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
- package/lib/module/getShadowNodeFromRef.js +19 -2
- package/lib/module/getShadowNodeFromRef.js.map +1 -1
- package/lib/module/handlers/createHandler.js +6 -1
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js +1 -1
- package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector.js +11 -1
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/module/handlers/gestures/gesture.js +5 -0
- package/lib/module/handlers/gestures/gesture.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js +3 -0
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -0
- package/lib/module/web/handlers/FlingGestureHandler.js +4 -0
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +18 -4
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +8 -5
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +4 -0
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +4 -0
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/interfaces.js +9 -20
- package/lib/module/web/interfaces.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +2 -2
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +34 -0
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +3 -2
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerEventManager.js +41 -12
- package/lib/module/web/tools/PointerEventManager.js.map +1 -1
- package/lib/module/web/tools/TouchEventManager.js +2 -2
- package/lib/module/web/tools/TouchEventManager.js.map +1 -1
- package/lib/module/web/utils.js +2 -0
- package/lib/module/web/utils.js.map +1 -1
- package/lib/typescript/PointerType.d.ts +6 -0
- package/lib/typescript/RNGestureHandlerModule.d.ts +2 -13
- package/lib/typescript/RNGestureHandlerModule.windows.d.ts +5 -21
- package/lib/typescript/components/DrawerLayout.d.ts +11 -0
- package/lib/typescript/components/GestureHandlerRootView.android.d.ts +1 -1
- package/lib/typescript/components/GestureHandlerRootView.d.ts +1 -1
- package/lib/typescript/components/GestureHandlerRootView.web.d.ts +1 -1
- package/lib/typescript/getShadowNodeFromRef.d.ts +1 -1
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
- package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -1
- package/lib/typescript/handlers/gestureHandlerCommon.d.ts +6 -1
- package/lib/typescript/handlers/gestures/GestureDetector.d.ts +2 -1
- package/lib/typescript/handlers/gestures/gesture.d.ts +2 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +14 -0
- package/lib/typescript/web/handlers/GestureHandler.d.ts +4 -1
- package/lib/typescript/web/interfaces.d.ts +10 -14
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +2 -0
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +7 -0
- package/lib/typescript/web/tools/PointerEventManager.d.ts +2 -0
- package/lib/typescript/web/utils.d.ts +2 -0
- package/package.json +14 -11
- package/src/PointerType.ts +6 -0
- package/src/RNGestureHandlerModule.ts +4 -49
- package/src/RNGestureHandlerModule.windows.ts +18 -100
- package/src/components/DrawerLayout.tsx +15 -0
- package/src/components/GestureHandlerRootView.android.tsx +13 -5
- package/src/components/GestureHandlerRootView.tsx +10 -5
- package/src/components/GestureHandlerRootView.web.tsx +10 -5
- package/src/getShadowNodeFromRef.ts +28 -6
- package/src/handlers/createHandler.tsx +6 -0
- package/src/handlers/gestureHandlerCommon.ts +7 -0
- package/src/handlers/gestures/GestureDetector.tsx +16 -2
- package/src/handlers/gestures/gesture.ts +6 -0
- package/src/index.ts +2 -0
- package/src/specs/NativeRNGestureHandlerModule.ts +26 -0
- package/src/web/handlers/FlingGestureHandler.ts +4 -0
- package/src/web/handlers/GestureHandler.ts +20 -2
- package/src/web/handlers/LongPressGestureHandler.ts +8 -5
- package/src/web/handlers/PanGestureHandler.ts +4 -0
- package/src/web/handlers/TapGestureHandler.ts +4 -0
- package/src/web/interfaces.ts +12 -17
- package/src/web/tools/GestureHandlerDelegate.ts +3 -0
- package/src/web/tools/GestureHandlerOrchestrator.ts +2 -2
- package/src/web/tools/GestureHandlerWebDelegate.ts +39 -0
- package/src/web/tools/NodeManager.ts +5 -1
- package/src/web/tools/PointerEventManager.ts +46 -10
- package/src/web/tools/TouchEventManager.ts +2 -8
- package/src/web/utils.ts +9 -0
- package/ios/Handlers/RNPinchHandler.m +0 -95
- package/ios/Handlers/RNRotationHandler.m +0 -93
- package/ios/RNGestureHandlerModule.h +0 -7
- package/lib/commonjs/RNGestureHandlerModule.macos.js +0 -149
- package/lib/commonjs/RNGestureHandlerModule.macos.js.map +0 -1
- package/lib/module/RNGestureHandlerModule.macos.js +0 -110
- package/lib/module/RNGestureHandlerModule.macos.js.map +0 -1
- package/lib/typescript/RNGestureHandlerModule.macos.d.ts +0 -47
- package/src/RNGestureHandlerModule.macos.ts +0 -133
- /package/{ios → apple}/Handlers/RNFlingHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNForceTouchHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNHoverHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNLongPressHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNManualHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNNativeViewHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNPanHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNPinchHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNRotationHandler.h +0 -0
- /package/{ios → apple}/Handlers/RNTapHandler.h +0 -0
- /package/{ios → apple}/RNGHTouchEventType.h +0 -0
- /package/{ios → apple}/RNGestureHandler.xcodeproj/project.pbxproj +0 -0
- /package/{ios → apple}/RNGestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- /package/{ios → apple}/RNGestureHandlerActionType.h +0 -0
- /package/{ios → apple}/RNGestureHandlerButtonComponentView.h +0 -0
- /package/{ios → apple}/RNGestureHandlerButtonComponentView.mm +0 -0
- /package/{ios → apple}/RNGestureHandlerButtonManager.h +0 -0
- /package/{ios → apple}/RNGestureHandlerDirection.h +0 -0
- /package/{ios → apple}/RNGestureHandlerRootViewComponentView.mm +0 -0
- /package/{ios → apple}/RNGestureHandlerState.h +0 -0
- /package/{ios → apple}/RNGestureHandlerStateManager.h +0 -0
- /package/{ios → apple}/RNRootViewGestureRecognizer.h +0 -0
@@ -12,26 +12,31 @@
|
|
12
12
|
return self;
|
13
13
|
}
|
14
14
|
|
15
|
-
+ (RNGestureHandlerEventExtraData *)forPosition:(CGPoint)position
|
15
|
+
+ (RNGestureHandlerEventExtraData *)forPosition:(CGPoint)position
|
16
|
+
withAbsolutePosition:(CGPoint)absolutePosition
|
17
|
+
withPointerType:(NSInteger)pointerType
|
16
18
|
{
|
17
19
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
18
20
|
@"x" : @(position.x),
|
19
21
|
@"y" : @(position.y),
|
20
22
|
@"absoluteX" : @(absolutePosition.x),
|
21
|
-
@"absoluteY" : @(absolutePosition.y)
|
23
|
+
@"absoluteY" : @(absolutePosition.y),
|
24
|
+
@"pointerType" : @(pointerType)
|
22
25
|
}];
|
23
26
|
}
|
24
27
|
|
25
28
|
+ (RNGestureHandlerEventExtraData *)forPosition:(CGPoint)position
|
26
29
|
withAbsolutePosition:(CGPoint)absolutePosition
|
27
30
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
31
|
+
withPointerType:(NSInteger)pointerType
|
28
32
|
{
|
29
33
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
30
34
|
@"x" : @(position.x),
|
31
35
|
@"y" : @(position.y),
|
32
36
|
@"absoluteX" : @(absolutePosition.x),
|
33
37
|
@"absoluteY" : @(absolutePosition.y),
|
34
|
-
@"numberOfPointers" : @(numberOfTouches)
|
38
|
+
@"numberOfPointers" : @(numberOfTouches),
|
39
|
+
@"pointerType" : @(pointerType)
|
35
40
|
}];
|
36
41
|
}
|
37
42
|
|
@@ -39,6 +44,7 @@
|
|
39
44
|
withAbsolutePosition:(CGPoint)absolutePosition
|
40
45
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
41
46
|
withDuration:(NSUInteger)duration
|
47
|
+
withPointerType:(NSInteger)pointerType
|
42
48
|
{
|
43
49
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
44
50
|
@"x" : @(position.x),
|
@@ -46,7 +52,8 @@
|
|
46
52
|
@"absoluteX" : @(absolutePosition.x),
|
47
53
|
@"absoluteY" : @(absolutePosition.y),
|
48
54
|
@"numberOfPointers" : @(numberOfTouches),
|
49
|
-
@"duration" : @(duration)
|
55
|
+
@"duration" : @(duration),
|
56
|
+
@"pointerType" : @(pointerType)
|
50
57
|
}];
|
51
58
|
}
|
52
59
|
|
@@ -55,6 +62,7 @@
|
|
55
62
|
withTranslation:(CGPoint)translation
|
56
63
|
withVelocity:(CGPoint)velocity
|
57
64
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
65
|
+
withPointerType:(NSInteger)pointerType
|
58
66
|
{
|
59
67
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
60
68
|
@"x" : @(position.x),
|
@@ -65,7 +73,8 @@
|
|
65
73
|
@"translationY" : @(translation.y),
|
66
74
|
@"velocityX" : SAFE_VELOCITY(velocity.x),
|
67
75
|
@"velocityY" : SAFE_VELOCITY(velocity.y),
|
68
|
-
@"numberOfPointers" : @(numberOfTouches)
|
76
|
+
@"numberOfPointers" : @(numberOfTouches),
|
77
|
+
@"pointerType" : @(pointerType)
|
69
78
|
}];
|
70
79
|
}
|
71
80
|
|
@@ -73,6 +82,7 @@
|
|
73
82
|
forPosition:(CGPoint)position
|
74
83
|
withAbsolutePosition:(CGPoint)absolutePosition
|
75
84
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
85
|
+
withPointerType:(NSInteger)pointerType
|
76
86
|
{
|
77
87
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
78
88
|
@"x" : @(position.x),
|
@@ -80,7 +90,8 @@
|
|
80
90
|
@"absoluteX" : @(absolutePosition.x),
|
81
91
|
@"absoluteY" : @(absolutePosition.y),
|
82
92
|
@"force" : @(force),
|
83
|
-
@"numberOfPointers" : @(numberOfTouches)
|
93
|
+
@"numberOfPointers" : @(numberOfTouches),
|
94
|
+
@"pointerType" : @(pointerType)
|
84
95
|
}];
|
85
96
|
}
|
86
97
|
|
@@ -88,13 +99,15 @@
|
|
88
99
|
withFocalPoint:(CGPoint)focalPoint
|
89
100
|
withVelocity:(CGFloat)velocity
|
90
101
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
102
|
+
withPointerType:(NSInteger)pointerType
|
91
103
|
{
|
92
104
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
93
105
|
@"scale" : @(scale),
|
94
106
|
@"focalX" : @(focalPoint.x),
|
95
107
|
@"focalY" : @(focalPoint.y),
|
96
108
|
@"velocity" : SAFE_VELOCITY(velocity),
|
97
|
-
@"numberOfPointers" : @(numberOfTouches)
|
109
|
+
@"numberOfPointers" : @(numberOfTouches),
|
110
|
+
@"pointerType" : @(pointerType)
|
98
111
|
}];
|
99
112
|
}
|
100
113
|
|
@@ -102,13 +115,15 @@
|
|
102
115
|
withAnchorPoint:(CGPoint)anchorPoint
|
103
116
|
withVelocity:(CGFloat)velocity
|
104
117
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
118
|
+
withPointerType:(NSInteger)pointerType
|
105
119
|
{
|
106
120
|
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
107
121
|
@"rotation" : @(rotation),
|
108
122
|
@"anchorX" : @(anchorPoint.x),
|
109
123
|
@"anchorY" : @(anchorPoint.y),
|
110
124
|
@"velocity" : SAFE_VELOCITY(velocity),
|
111
|
-
@"numberOfPointers" : @(numberOfTouches)
|
125
|
+
@"numberOfPointers" : @(numberOfTouches),
|
126
|
+
@"pointerType" : @(pointerType)
|
112
127
|
}];
|
113
128
|
}
|
114
129
|
|
@@ -116,6 +131,7 @@
|
|
116
131
|
withChangedPointers:(NSArray<NSDictionary *> *)changedPointers
|
117
132
|
withAllPointers:(NSArray<NSDictionary *> *)allPointers
|
118
133
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
134
|
+
withPointerType:(NSInteger)pointerType
|
119
135
|
{
|
120
136
|
if (changedPointers == nil || allPointers == nil) {
|
121
137
|
changedPointers = @[];
|
@@ -127,13 +143,15 @@
|
|
127
143
|
@"eventType" : @(eventType),
|
128
144
|
@"changedTouches" : changedPointers,
|
129
145
|
@"allTouches" : allPointers,
|
130
|
-
@"numberOfTouches" : @(numberOfTouches)
|
146
|
+
@"numberOfTouches" : @(numberOfTouches),
|
147
|
+
@"pointerType" : @(pointerType)
|
131
148
|
}];
|
132
149
|
}
|
133
150
|
|
134
|
-
+ (RNGestureHandlerEventExtraData *)forPointerInside:(BOOL)pointerInside
|
151
|
+
+ (RNGestureHandlerEventExtraData *)forPointerInside:(BOOL)pointerInside withPointerType:(NSInteger)pointerType
|
135
152
|
{
|
136
|
-
return [[RNGestureHandlerEventExtraData alloc]
|
153
|
+
return [[RNGestureHandlerEventExtraData alloc]
|
154
|
+
initWithData:@{@"pointerInside" : @(pointerInside), @"pointerType" : @(pointerType)}];
|
137
155
|
}
|
138
156
|
|
139
157
|
@end
|
@@ -9,8 +9,13 @@
|
|
9
9
|
|
10
10
|
@interface RNGestureHandlerManager : NSObject
|
11
11
|
|
12
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
13
|
+
- (nonnull instancetype)initWithModuleRegistry:(nonnull RCTModuleRegistry *)moduleRegistry
|
14
|
+
viewRegistry:(nonnull RCTViewRegistry *)viewRegistry;
|
15
|
+
#else
|
12
16
|
- (nonnull instancetype)initWithUIManager:(nonnull RCTUIManager *)uiManager
|
13
|
-
eventDispatcher:(nonnull
|
17
|
+
eventDispatcher:(nonnull id<RCTEventDispatcherProtocol>)eventDispatcher;
|
18
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
14
19
|
|
15
20
|
- (void)createGestureHandler:(nonnull NSString *)handlerName
|
16
21
|
tag:(nonnull NSNumber *)handlerTag
|
@@ -26,7 +31,7 @@
|
|
26
31
|
|
27
32
|
- (void)dropAllGestureHandlers;
|
28
33
|
|
29
|
-
- (void)handleSetJSResponder:(nonnull NSNumber *)viewTag blockNativeResponder:(
|
34
|
+
- (void)handleSetJSResponder:(nonnull NSNumber *)viewTag blockNativeResponder:(BOOL)blockNativeResponder;
|
30
35
|
|
31
36
|
- (void)handleClearJSResponder;
|
32
37
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#import "RNGestureHandlerManager.h"
|
2
2
|
|
3
3
|
#import <React/RCTComponent.h>
|
4
|
-
#import <React/
|
4
|
+
#import <React/RCTEventDispatcherProtocol.h>
|
5
5
|
#import <React/RCTLog.h>
|
6
6
|
#import <React/RCTModalHostViewController.h>
|
7
7
|
#import <React/RCTRootContentView.h>
|
@@ -49,28 +49,59 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
49
49
|
|
50
50
|
@implementation RNGestureHandlerManager {
|
51
51
|
RNGestureHandlerRegistry *_registry;
|
52
|
-
RCTUIManager *_uiManager;
|
53
52
|
NSHashTable<RNRootViewGestureRecognizer *> *_rootViewGestureRecognizers;
|
54
53
|
NSMutableDictionary<NSNumber *, NSNumber *> *_attachRetryCounter;
|
55
|
-
|
54
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
55
|
+
RCTModuleRegistry *_moduleRegistry;
|
56
|
+
RCTViewRegistry *_viewRegistry;
|
57
|
+
#else
|
58
|
+
RCTUIManager *_uiManager;
|
59
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
60
|
+
id<RCTEventDispatcherProtocol> _eventDispatcher;
|
56
61
|
id _reanimatedModule;
|
57
62
|
}
|
58
63
|
|
59
|
-
|
64
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
65
|
+
- (instancetype)initWithModuleRegistry:(RCTModuleRegistry *)moduleRegistry viewRegistry:(RCTViewRegistry *)viewRegistry
|
66
|
+
{
|
67
|
+
if ((self = [super init])) {
|
68
|
+
_moduleRegistry = moduleRegistry;
|
69
|
+
_viewRegistry = viewRegistry;
|
70
|
+
_eventDispatcher = [_moduleRegistry moduleForName:"EventDispatcher"];
|
71
|
+
[self initCommonProps];
|
72
|
+
}
|
73
|
+
return self;
|
74
|
+
}
|
75
|
+
#else
|
76
|
+
- (instancetype)initWithUIManager:(RCTUIManager *)uiManager
|
77
|
+
eventDispatcher:(id<RCTEventDispatcherProtocol>)eventDispatcher
|
60
78
|
{
|
61
79
|
if ((self = [super init])) {
|
62
80
|
_uiManager = uiManager;
|
63
81
|
_eventDispatcher = eventDispatcher;
|
64
|
-
|
65
|
-
_rootViewGestureRecognizers = [NSHashTable hashTableWithOptions:NSPointerFunctionsWeakMemory];
|
66
|
-
_attachRetryCounter = [[NSMutableDictionary alloc] init];
|
67
|
-
_reanimatedModule = nil;
|
82
|
+
[self initCommonProps];
|
68
83
|
}
|
69
84
|
return self;
|
70
85
|
}
|
86
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
87
|
+
|
88
|
+
- (void)initCommonProps
|
89
|
+
{
|
90
|
+
_registry = [RNGestureHandlerRegistry new];
|
91
|
+
_rootViewGestureRecognizers = [NSHashTable hashTableWithOptions:NSPointerFunctionsWeakMemory];
|
92
|
+
_attachRetryCounter = [[NSMutableDictionary alloc] init];
|
93
|
+
}
|
71
94
|
|
72
95
|
- (void)createGestureHandler:(NSString *)handlerName tag:(NSNumber *)handlerTag config:(NSDictionary *)config
|
73
96
|
{
|
97
|
+
if ([_registry handlerWithTag:handlerTag] != nullptr) {
|
98
|
+
NSString *errorMessage = [NSString
|
99
|
+
stringWithFormat:
|
100
|
+
@"Handler with tag %@ already exists. Please ensure that no Gesture instance is used across multiple GestureDetectors.",
|
101
|
+
handlerTag];
|
102
|
+
@throw [NSException exceptionWithName:@"HandlerAlreadyRegistered" reason:errorMessage userInfo:nil];
|
103
|
+
}
|
104
|
+
|
74
105
|
static NSDictionary *map;
|
75
106
|
static dispatch_once_t mapToken;
|
76
107
|
dispatch_once(&mapToken, ^{
|
@@ -106,7 +137,11 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
106
137
|
toViewWithTag:(nonnull NSNumber *)viewTag
|
107
138
|
withActionType:(RNGestureHandlerActionType)actionType
|
108
139
|
{
|
109
|
-
|
140
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
141
|
+
RNGHUIView *view = [_viewRegistry viewForReactTag:viewTag];
|
142
|
+
#else
|
143
|
+
RNGHUIView *view = [_uiManager viewForReactTag:viewTag];
|
144
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
110
145
|
|
111
146
|
#ifdef RCT_NEW_ARCH_ENABLED
|
112
147
|
if (view == nil || view.superview == nil) {
|
@@ -177,9 +212,9 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
177
212
|
[_registry dropAllHandlers];
|
178
213
|
}
|
179
214
|
|
180
|
-
- (void)handleSetJSResponder:(NSNumber *)viewTag blockNativeResponder:(
|
215
|
+
- (void)handleSetJSResponder:(NSNumber *)viewTag blockNativeResponder:(BOOL)blockNativeResponder
|
181
216
|
{
|
182
|
-
if (
|
217
|
+
if (blockNativeResponder) {
|
183
218
|
for (RNRootViewGestureRecognizer *recognizer in _rootViewGestureRecognizers) {
|
184
219
|
[recognizer blockOtherRecognizers];
|
185
220
|
}
|
@@ -198,11 +233,12 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
198
233
|
|
199
234
|
#pragma mark Root Views Management
|
200
235
|
|
201
|
-
- (void)registerViewWithGestureRecognizerAttachedIfNeeded:(
|
236
|
+
- (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childView
|
202
237
|
{
|
203
238
|
#ifdef RCT_NEW_ARCH_ENABLED
|
204
|
-
|
239
|
+
RNGHUIView *touchHandlerView = childView;
|
205
240
|
|
241
|
+
#if !TARGET_OS_OSX
|
206
242
|
if ([[childView reactViewController] isKindOfClass:[RCTFabricModalHostViewController class]]) {
|
207
243
|
touchHandlerView = [childView reactViewController].view;
|
208
244
|
} else {
|
@@ -211,8 +247,15 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
211
247
|
}
|
212
248
|
}
|
213
249
|
#else
|
214
|
-
|
250
|
+
while (touchHandlerView != nil && ![touchHandlerView isKindOfClass:[RCTSurfaceView class]]) {
|
251
|
+
touchHandlerView = touchHandlerView.superview;
|
252
|
+
}
|
253
|
+
#endif // !TARGET_OS_OSX
|
254
|
+
|
255
|
+
#else
|
256
|
+
RNGHUIView *touchHandlerView = nil;
|
215
257
|
|
258
|
+
#if !TARGET_OS_OSX
|
216
259
|
if ([[childView reactViewController] isKindOfClass:[RCTModalHostViewController class]]) {
|
217
260
|
touchHandlerView = [childView reactViewController].view.subviews[0];
|
218
261
|
} else {
|
@@ -223,6 +266,15 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
223
266
|
|
224
267
|
touchHandlerView = [[parent performSelector:@selector(touchHandler)] view];
|
225
268
|
}
|
269
|
+
#else
|
270
|
+
NSView *parent = childView;
|
271
|
+
while (parent != nil && ![parent respondsToSelector:@selector(touchHandler)]) {
|
272
|
+
parent = parent.superview;
|
273
|
+
}
|
274
|
+
|
275
|
+
touchHandlerView = [[parent performSelector:@selector(touchHandler)] view];
|
276
|
+
#endif // !TARGET_OS_OSX
|
277
|
+
|
226
278
|
#endif // RCT_NEW_ARCH_ENABLED
|
227
279
|
|
228
280
|
if (touchHandlerView == nil) {
|
@@ -240,13 +292,15 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
240
292
|
RCTLifecycleLog(@"[GESTURE HANDLER] Initialize gesture handler for view %@", touchHandlerView);
|
241
293
|
RNRootViewGestureRecognizer *recognizer = [RNRootViewGestureRecognizer new];
|
242
294
|
recognizer.delegate = self;
|
295
|
+
#if !TARGET_OS_OSX
|
243
296
|
touchHandlerView.userInteractionEnabled = YES;
|
297
|
+
#endif
|
244
298
|
[touchHandlerView addGestureRecognizer:recognizer];
|
245
299
|
[_rootViewGestureRecognizers addObject:recognizer];
|
246
300
|
}
|
247
301
|
|
248
302
|
- (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
|
249
|
-
didActivateInViewWithTouchHandler:(
|
303
|
+
didActivateInViewWithTouchHandler:(RNGHUIView *)viewWithTouchHandler
|
250
304
|
{
|
251
305
|
// Cancel touches in RN's root view in order to cancel all in-js recognizers
|
252
306
|
|
@@ -259,8 +313,15 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
259
313
|
// particular if we have one PanHandler and ScrollView that can work simultaniously then when
|
260
314
|
// the Pan handler activates it would still tigger cancel events.
|
261
315
|
// Once the upstream fix lands the line below along with this comment can be removed
|
262
|
-
|
316
|
+
#if TARGET_OS_OSX
|
317
|
+
if ([gestureRecognizer.view isKindOfClass:[NSScrollView class]]) {
|
263
318
|
return;
|
319
|
+
}
|
320
|
+
#else
|
321
|
+
if ([gestureRecognizer.view isKindOfClass:[UIScrollView class]]) {
|
322
|
+
return;
|
323
|
+
}
|
324
|
+
#endif
|
264
325
|
|
265
326
|
UIGestureRecognizer *touchHandler = nil;
|
266
327
|
|
@@ -315,7 +376,7 @@ constexpr int NEW_ARCH_NUMBER_OF_ATTACH_RETRIES = 25;
|
|
315
376
|
#ifdef RCT_NEW_ARCH_ENABLED
|
316
377
|
// Send event directly to Reanimated
|
317
378
|
if (_reanimatedModule == nil) {
|
318
|
-
_reanimatedModule = [
|
379
|
+
_reanimatedModule = [_moduleRegistry moduleForName:"ReanimatedModule"];
|
319
380
|
}
|
320
381
|
|
321
382
|
[_reanimatedModule eventDispatcherWillDispatchEvent:event];
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#import <React/RCTEventEmitter.h>
|
2
|
+
#import <React/RCTUIManager.h>
|
3
|
+
|
4
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
5
|
+
#import <React/RCTEventDispatcherProtocol.h>
|
6
|
+
#import <React/RCTInitializing.h>
|
7
|
+
#import <rngesturehandler_codegen/rngesturehandler_codegen.h>
|
8
|
+
#else
|
9
|
+
#import <React/RCTBridgeModule.h>
|
10
|
+
#endif
|
11
|
+
|
12
|
+
@interface RNGestureHandlerModule : RCTEventEmitter
|
13
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
14
|
+
<NativeRNGestureHandlerModuleSpec, RCTJSDispatcherModule, RCTInitializing>
|
15
|
+
#else
|
16
|
+
<RCTBridgeModule>
|
17
|
+
#endif
|
18
|
+
|
19
|
+
@end
|
@@ -10,7 +10,6 @@
|
|
10
10
|
#ifdef RCT_NEW_ARCH_ENABLED
|
11
11
|
#import <React/RCTBridge+Private.h>
|
12
12
|
#import <React/RCTBridge.h>
|
13
|
-
#import <React/RCTSurfacePresenter.h>
|
14
13
|
#import <React/RCTUtils.h>
|
15
14
|
#import <ReactCommon/CallInvoker.h>
|
16
15
|
#import <ReactCommon/RCTTurboModule.h>
|
@@ -26,13 +25,15 @@
|
|
26
25
|
#import "RNGestureHandlerButton.h"
|
27
26
|
#import "RNGestureHandlerStateManager.h"
|
28
27
|
|
28
|
+
#import <React/RCTJSThread.h>
|
29
|
+
|
29
30
|
#ifdef RCT_NEW_ARCH_ENABLED
|
30
31
|
using namespace facebook;
|
31
32
|
using namespace react;
|
32
33
|
#endif // RCT_NEW_ARCH_ENABLED
|
33
34
|
|
34
35
|
#ifdef RCT_NEW_ARCH_ENABLED
|
35
|
-
@interface RNGestureHandlerModule () <
|
36
|
+
@interface RNGestureHandlerModule () <RNGestureHandlerStateManager, RCTTurboModule>
|
36
37
|
|
37
38
|
@end
|
38
39
|
#else
|
@@ -50,6 +51,12 @@ typedef void (^GestureHandlerOperation)(RNGestureHandlerManager *manager);
|
|
50
51
|
NSMutableArray<GestureHandlerOperation> *_operations;
|
51
52
|
}
|
52
53
|
|
54
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
55
|
+
@synthesize viewRegistry_DEPRECATED = _viewRegistry_DEPRECATED;
|
56
|
+
@synthesize bridge = _bridge;
|
57
|
+
@synthesize dispatchToJSThread = _dispatchToJSThread;
|
58
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
59
|
+
|
53
60
|
RCT_EXPORT_MODULE()
|
54
61
|
|
55
62
|
+ (BOOL)requiresMainQueueSetup
|
@@ -66,9 +73,7 @@ RCT_EXPORT_MODULE()
|
|
66
73
|
|
67
74
|
_manager = nil;
|
68
75
|
|
69
|
-
#
|
70
|
-
[self.bridge.surfacePresenter removeObserver:self];
|
71
|
-
#else
|
76
|
+
#ifndef RCT_NEW_ARCH_ENABLED
|
72
77
|
[self.bridge.uiManager.observerCoordinator removeObserver:self];
|
73
78
|
#endif // RCT_NEW_ARCH_ENABLED
|
74
79
|
}
|
@@ -95,8 +100,7 @@ void decorateRuntime(jsi::Runtime &runtime)
|
|
95
100
|
if (!arguments[0].isObject()) {
|
96
101
|
return jsi::Value::null();
|
97
102
|
}
|
98
|
-
|
99
|
-
auto shadowNode = arguments[0].asObject(runtime).getHostObject<ShadowNodeWrapper>(runtime)->shadowNode;
|
103
|
+
auto shadowNode = arguments[0].asObject(runtime).getNativeState<ShadowNode>(runtime);
|
100
104
|
bool isFormsStackingContext = shadowNode->getTraits().check(ShadowNodeTraits::FormsStackingContext);
|
101
105
|
|
102
106
|
return jsi::Value(isFormsStackingContext);
|
@@ -105,6 +109,14 @@ void decorateRuntime(jsi::Runtime &runtime)
|
|
105
109
|
}
|
106
110
|
#endif // RCT_NEW_ARCH_ENABLED
|
107
111
|
|
112
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
113
|
+
- (void)initialize
|
114
|
+
{
|
115
|
+
_manager = [[RNGestureHandlerManager alloc] initWithModuleRegistry:self.moduleRegistry
|
116
|
+
viewRegistry:_viewRegistry_DEPRECATED];
|
117
|
+
_operations = [NSMutableArray new];
|
118
|
+
}
|
119
|
+
#else
|
108
120
|
- (void)setBridge:(RCTBridge *)bridge
|
109
121
|
{
|
110
122
|
[super setBridge:bridge];
|
@@ -113,65 +125,65 @@ void decorateRuntime(jsi::Runtime &runtime)
|
|
113
125
|
eventDispatcher:bridge.eventDispatcher];
|
114
126
|
_operations = [NSMutableArray new];
|
115
127
|
|
116
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
117
|
-
[bridge.surfacePresenter addObserver:self];
|
118
|
-
#else
|
119
128
|
[bridge.uiManager.observerCoordinator addObserver:self];
|
120
|
-
#endif // RCT_NEW_ARCH_ENABLED
|
121
129
|
}
|
130
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
122
131
|
|
123
132
|
#ifdef RCT_NEW_ARCH_ENABLED
|
124
133
|
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install)
|
125
134
|
{
|
126
|
-
|
127
|
-
|
128
|
-
|
135
|
+
dispatch_block_t block = ^{
|
136
|
+
RCTCxxBridge *cxxBridge = (RCTCxxBridge *)[RCTBridge currentBridge];
|
137
|
+
auto runtime = (jsi::Runtime *)cxxBridge.runtime;
|
138
|
+
decorateRuntime(*runtime);
|
139
|
+
};
|
140
|
+
if (_dispatchToJSThread) {
|
141
|
+
_dispatchToJSThread(block);
|
142
|
+
} else {
|
143
|
+
[[RCTBridge currentBridge] dispatchBlock:block queue:RCTJSThread];
|
144
|
+
}
|
145
|
+
|
129
146
|
return @true;
|
130
147
|
}
|
131
148
|
#endif // RCT_NEW_ARCH_ENABLED
|
132
149
|
|
133
150
|
RCT_EXPORT_METHOD(createGestureHandler
|
134
|
-
: (nonnull NSString *)handlerName
|
135
|
-
: (
|
151
|
+
: (nonnull NSString *)handlerName handlerTag
|
152
|
+
: (double)handlerTag config
|
136
153
|
: (NSDictionary *)config)
|
137
154
|
{
|
138
155
|
[self addOperationBlock:^(RNGestureHandlerManager *manager) {
|
139
|
-
[manager createGestureHandler:handlerName tag:handlerTag config:config];
|
156
|
+
[manager createGestureHandler:handlerName tag:[NSNumber numberWithDouble:handlerTag] config:config];
|
140
157
|
}];
|
141
158
|
}
|
142
159
|
|
143
|
-
RCT_EXPORT_METHOD(attachGestureHandler
|
144
|
-
: (nonnull NSNumber *)handlerTag toViewWithTag
|
145
|
-
: (nonnull NSNumber *)viewTag actionType
|
146
|
-
: (nonnull NSNumber *)actionType)
|
160
|
+
RCT_EXPORT_METHOD(attachGestureHandler : (double)handlerTag newView : (double)viewTag actionType : (double)actionType)
|
147
161
|
{
|
148
162
|
[self addOperationBlock:^(RNGestureHandlerManager *manager) {
|
149
|
-
[manager attachGestureHandler:handlerTag
|
150
|
-
toViewWithTag:viewTag
|
151
|
-
withActionType:(RNGestureHandlerActionType)[actionType integerValue]];
|
163
|
+
[manager attachGestureHandler:[NSNumber numberWithDouble:handlerTag]
|
164
|
+
toViewWithTag:[NSNumber numberWithDouble:viewTag]
|
165
|
+
withActionType:(RNGestureHandlerActionType)[[NSNumber numberWithDouble:actionType] integerValue]];
|
152
166
|
}];
|
153
167
|
}
|
154
168
|
|
155
|
-
RCT_EXPORT_METHOD(updateGestureHandler : (
|
169
|
+
RCT_EXPORT_METHOD(updateGestureHandler : (double)handlerTag newConfig : (NSDictionary *)config)
|
156
170
|
{
|
157
171
|
[self addOperationBlock:^(RNGestureHandlerManager *manager) {
|
158
|
-
[manager updateGestureHandler:handlerTag config:config];
|
172
|
+
[manager updateGestureHandler:[NSNumber numberWithDouble:handlerTag] config:config];
|
159
173
|
}];
|
160
174
|
}
|
161
175
|
|
162
|
-
RCT_EXPORT_METHOD(dropGestureHandler : (
|
176
|
+
RCT_EXPORT_METHOD(dropGestureHandler : (double)handlerTag)
|
163
177
|
{
|
164
178
|
[self addOperationBlock:^(RNGestureHandlerManager *manager) {
|
165
|
-
[manager dropGestureHandler:handlerTag];
|
179
|
+
[manager dropGestureHandler:[NSNumber numberWithDouble:handlerTag]];
|
166
180
|
}];
|
167
181
|
}
|
168
182
|
|
169
|
-
RCT_EXPORT_METHOD(handleSetJSResponder
|
170
|
-
: (nonnull NSNumber *)viewTag blockNativeResponder
|
171
|
-
: (nonnull NSNumber *)blockNativeResponder)
|
183
|
+
RCT_EXPORT_METHOD(handleSetJSResponder : (double)viewTag blockNativeResponder : (BOOL)blockNativeResponder)
|
172
184
|
{
|
173
185
|
[self addOperationBlock:^(RNGestureHandlerManager *manager) {
|
174
|
-
[manager handleSetJSResponder:viewTag blockNativeResponder:blockNativeResponder];
|
186
|
+
[manager handleSetJSResponder:[NSNumber numberWithDouble:viewTag] blockNativeResponder:blockNativeResponder];
|
175
187
|
}];
|
176
188
|
}
|
177
189
|
|
@@ -194,12 +206,11 @@ RCT_EXPORT_METHOD(flushOperations)
|
|
194
206
|
NSArray<GestureHandlerOperation> *operations = _operations;
|
195
207
|
_operations = [NSMutableArray new];
|
196
208
|
|
197
|
-
[self.
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
}];
|
209
|
+
[self.viewRegistry_DEPRECATED addUIBlock:^(RCTViewRegistry *viewRegistry) {
|
210
|
+
for (GestureHandlerOperation operation in operations) {
|
211
|
+
operation(self->_manager);
|
212
|
+
}
|
213
|
+
}];
|
203
214
|
#endif // RCT_NEW_ARCH_ENABLED
|
204
215
|
}
|
205
216
|
|
@@ -209,16 +220,16 @@ RCT_EXPORT_METHOD(flushOperations)
|
|
209
220
|
|
210
221
|
if (handler != nil) {
|
211
222
|
if (state == 1) { // FAILED
|
212
|
-
handler.recognizer.state =
|
223
|
+
handler.recognizer.state = RNGHGestureRecognizerStateFailed;
|
213
224
|
} else if (state == 2) { // BEGAN
|
214
|
-
handler.recognizer.state =
|
225
|
+
handler.recognizer.state = RNGHGestureRecognizerStatePossible;
|
215
226
|
} else if (state == 3) { // CANCELLED
|
216
|
-
handler.recognizer.state =
|
227
|
+
handler.recognizer.state = RNGHGestureRecognizerStateCancelled;
|
217
228
|
} else if (state == 4) { // ACTIVE
|
218
229
|
[handler stopActivationBlocker];
|
219
|
-
handler.recognizer.state =
|
230
|
+
handler.recognizer.state = RNGHGestureRecognizerStateBegan;
|
220
231
|
} else if (state == 5) { // ENDED
|
221
|
-
handler.recognizer.state =
|
232
|
+
handler.recognizer.state = RNGHGestureRecognizerStateEnded;
|
222
233
|
}
|
223
234
|
}
|
224
235
|
|
@@ -241,27 +252,7 @@ RCT_EXPORT_METHOD(flushOperations)
|
|
241
252
|
[_operations addObject:operation];
|
242
253
|
}
|
243
254
|
|
244
|
-
#
|
245
|
-
|
246
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
247
|
-
|
248
|
-
- (void)didMountComponentsWithRootTag:(NSInteger)rootTag
|
249
|
-
{
|
250
|
-
RCTAssertMainQueue();
|
251
|
-
|
252
|
-
if (_operations.count == 0) {
|
253
|
-
return;
|
254
|
-
}
|
255
|
-
|
256
|
-
NSArray<GestureHandlerOperation> *operations = _operations;
|
257
|
-
_operations = [NSMutableArray new];
|
258
|
-
|
259
|
-
for (GestureHandlerOperation operation in operations) {
|
260
|
-
operation(self->_manager);
|
261
|
-
}
|
262
|
-
}
|
263
|
-
|
264
|
-
#else
|
255
|
+
#ifndef RCT_NEW_ARCH_ENABLED
|
265
256
|
|
266
257
|
#pragma mark - RCTUIManagerObserver
|
267
258
|
|
@@ -279,11 +270,12 @@ RCT_EXPORT_METHOD(flushOperations)
|
|
279
270
|
NSArray<GestureHandlerOperation> *operations = _operations;
|
280
271
|
_operations = [NSMutableArray new];
|
281
272
|
|
282
|
-
[uiManager
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
273
|
+
[uiManager
|
274
|
+
addUIBlock:^(__unused RCTUIManager *manager, __unused NSDictionary<NSNumber *, RNGHUIView *> *viewRegistry) {
|
275
|
+
for (GestureHandlerOperation operation in operations) {
|
276
|
+
operation(self->_manager);
|
277
|
+
}
|
278
|
+
}];
|
287
279
|
}
|
288
280
|
|
289
281
|
#endif // RCT_NEW_ARCH_ENABLED
|
@@ -317,4 +309,12 @@ RCT_EXPORT_METHOD(flushOperations)
|
|
317
309
|
};
|
318
310
|
}
|
319
311
|
|
312
|
+
#if RCT_NEW_ARCH_ENABLED
|
313
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
314
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
315
|
+
{
|
316
|
+
return std::make_shared<facebook::react::NativeRNGestureHandlerModuleSpecJSI>(params);
|
317
|
+
}
|
318
|
+
#endif
|
319
|
+
|
320
320
|
@end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#import <Foundation/Foundation.h>
|
2
|
-
|
3
2
|
#import "RNGHTouchEventType.h"
|
3
|
+
#import "RNGHUIKit.h"
|
4
4
|
|
5
5
|
#define MAX_POINTERS_COUNT 12
|
6
6
|
|
@@ -15,10 +15,10 @@
|
|
15
15
|
|
16
16
|
- (id)initWithGestureHandler:(RNGestureHandler *)gestureHandler;
|
17
17
|
|
18
|
-
- (void)touchesBegan:(NSSet<
|
19
|
-
- (void)touchesMoved:(NSSet<
|
20
|
-
- (void)touchesEnded:(NSSet<
|
21
|
-
- (void)touchesCancelled:(NSSet<
|
18
|
+
- (void)touchesBegan:(NSSet<RNGHUITouch *> *)touches withEvent:(UIEvent *)event;
|
19
|
+
- (void)touchesMoved:(NSSet<RNGHUITouch *> *)touches withEvent:(UIEvent *)event;
|
20
|
+
- (void)touchesEnded:(NSSet<RNGHUITouch *> *)touches withEvent:(UIEvent *)event;
|
21
|
+
- (void)touchesCancelled:(NSSet<RNGHUITouch *> *)touches withEvent:(UIEvent *)event;
|
22
22
|
- (void)reset;
|
23
23
|
- (void)cancelPointers;
|
24
24
|
|