react-native-gesture-handler 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNGestureHandler.podspec +1 -1
- package/android/build.gradle +45 -43
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +1 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +14 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +5 -1
- package/android/src/main/jni/CMakeLists.txt +10 -44
- package/android/src/main/jni/cpp-adapter.cpp +16 -13
- package/ios/Handlers/RNFlingHandler.m +39 -37
- package/ios/Handlers/RNForceTouchHandler.m +19 -17
- package/ios/Handlers/RNLongPressHandler.m +20 -22
- package/ios/Handlers/RNManualHandler.m +2 -3
- package/ios/Handlers/RNNativeViewHandler.mm +92 -88
- package/ios/Handlers/RNPanHandler.m +28 -32
- package/ios/Handlers/RNPinchHandler.m +9 -10
- package/ios/Handlers/RNRotationHandler.m +11 -14
- package/ios/Handlers/RNTapHandler.m +26 -26
- package/ios/RNGestureHandler.h +31 -24
- package/ios/RNGestureHandler.m +278 -273
- package/ios/RNGestureHandlerActionType.h +6 -4
- package/ios/RNGestureHandlerButton.m +11 -12
- package/ios/RNGestureHandlerButtonManager.m +6 -5
- package/ios/RNGestureHandlerDirection.h +4 -4
- package/ios/RNGestureHandlerEvents.h +3 -4
- package/ios/RNGestureHandlerEvents.m +114 -119
- package/ios/RNGestureHandlerManager.h +1 -2
- package/ios/RNGestureHandlerModule.h +1 -2
- package/ios/RNGestureHandlerModule.mm +126 -122
- package/ios/RNGestureHandlerPointerTracker.h +1 -1
- package/ios/RNGestureHandlerPointerTracker.m +40 -37
- package/ios/RNGestureHandlerRegistry.h +3 -1
- package/ios/RNGestureHandlerRegistry.m +24 -22
- package/ios/RNGestureHandlerState.h +6 -6
- package/ios/RNGestureHandlerStateManager.h +1 -1
- package/ios/RNManualActivationRecognizer.m +9 -9
- package/ios/RNRootViewGestureRecognizer.m +36 -39
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/Swipeable.js.map +1 -1
- package/lib/commonjs/gestureHandlerRootHOC.js +2 -1
- package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +3 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +3 -1
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector.js +70 -28
- package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/commonjs/handlers/gestures/longPressGesture.js +1 -0
- package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/commonjs/handlers/gestures/tapGesture.js +1 -0
- package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/Swipeable.js.map +1 -1
- package/lib/module/gestureHandlerRootHOC.js +2 -1
- package/lib/module/gestureHandlerRootHOC.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +3 -1
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +3 -1
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector.js +72 -29
- package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
- package/lib/module/handlers/gestures/longPressGesture.js +1 -0
- package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
- package/lib/module/handlers/gestures/tapGesture.js +1 -0
- package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +0 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +0 -1
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +3 -1
- package/lib/typescript/components/Swipeable.d.ts +3 -2
- package/lib/typescript/fabric/RNGestureHandlerButtonNativeComponent.d.ts +1 -1
- package/lib/typescript/fabric/RNGestureHandlerRootViewNativeComponent.d.ts +1 -1
- package/lib/typescript/gestureHandlerRootHOC.d.ts +1 -1
- package/package.json +4 -5
- package/src/components/DrawerLayout.tsx +8 -4
- package/src/components/Swipeable.tsx +14 -9
- package/src/gestureHandlerRootHOC.tsx +4 -1
- package/src/handlers/LongPressGestureHandler.ts +3 -1
- package/src/handlers/TapGestureHandler.ts +3 -1
- package/src/handlers/gestures/GestureDetector.tsx +81 -28
- package/src/handlers/gestures/longPressGesture.ts +1 -0
- package/src/handlers/gestures/tapGesture.ts +1 -0
- package/src/web/handlers/LongPressGestureHandler.ts +0 -1
- package/src/web/handlers/TapGestureHandler.ts +0 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
2
|
|
|
3
3
|
typedef NS_ENUM(NSInteger, RNGestureHandlerActionType) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
RNGestureHandlerActionTypeReanimatedWorklet = 1, // Reanimated worklet
|
|
5
|
+
RNGestureHandlerActionTypeNativeAnimatedEvent, // Animated.event with useNativeDriver: true
|
|
6
|
+
RNGestureHandlerActionTypeJSFunctionOldAPI, // JS function or Animated.event with useNativeDriver: false using old
|
|
7
|
+
// RNGH API
|
|
8
|
+
RNGestureHandlerActionTypeJSFunctionNewAPI, // JS function or Animated.event with useNativeDriver: false using new
|
|
9
|
+
// RNGH API
|
|
8
10
|
};
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
|
|
49
49
|
- (BOOL)shouldHandleTouch:(UIView *)view
|
|
50
50
|
{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
if ([view isKindOfClass:[RNGestureHandlerButton class]]) {
|
|
52
|
+
RNGestureHandlerButton *button = (RNGestureHandlerButton *)view;
|
|
53
|
+
return button.userEnabled;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return [view isKindOfClass:[UIControl class]] || [view.gestureRecognizers count] > 0;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
|
|
@@ -67,12 +67,11 @@
|
|
|
67
67
|
|
|
68
68
|
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
|
|
69
69
|
{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
UIView *inner = [super hitTest:point withEvent:event];
|
|
71
|
+
while (inner && ![self shouldHandleTouch:inner]) {
|
|
72
|
+
inner = inner.superview;
|
|
73
|
+
}
|
|
74
|
+
return inner;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
@end
|
|
78
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#import "RNGestureHandlerButton.h"
|
|
2
1
|
#import "RNGestureHandlerButtonManager.h"
|
|
2
|
+
#import "RNGestureHandlerButton.h"
|
|
3
3
|
|
|
4
4
|
@implementation RNGestureHandlerButtonManager
|
|
5
5
|
|
|
@@ -7,19 +7,20 @@ RCT_EXPORT_MODULE(RNGestureHandlerButton)
|
|
|
7
7
|
|
|
8
8
|
RCT_CUSTOM_VIEW_PROPERTY(enabled, BOOL, RNGestureHandlerButton)
|
|
9
9
|
{
|
|
10
|
-
|
|
10
|
+
view.userEnabled = json == nil ? YES : [RCTConvert BOOL:json];
|
|
11
11
|
}
|
|
12
12
|
#if !TARGET_OS_TV
|
|
13
13
|
RCT_CUSTOM_VIEW_PROPERTY(exclusive, BOOL, RNGestureHandlerButton)
|
|
14
14
|
{
|
|
15
|
-
[view setExclusiveTouch:
|
|
15
|
+
[view setExclusiveTouch:json == nil ? YES : [RCTConvert BOOL:json]];
|
|
16
16
|
}
|
|
17
17
|
#endif
|
|
18
18
|
RCT_CUSTOM_VIEW_PROPERTY(hitSlop, UIEdgeInsets, RNGestureHandlerButton)
|
|
19
19
|
{
|
|
20
20
|
if (json) {
|
|
21
21
|
UIEdgeInsets hitSlopInsets = [RCTConvert UIEdgeInsets:json];
|
|
22
|
-
view.hitTestEdgeInsets =
|
|
22
|
+
view.hitTestEdgeInsets =
|
|
23
|
+
UIEdgeInsetsMake(-hitSlopInsets.top, -hitSlopInsets.left, -hitSlopInsets.bottom, -hitSlopInsets.right);
|
|
23
24
|
} else {
|
|
24
25
|
view.hitTestEdgeInsets = defaultView.hitTestEdgeInsets;
|
|
25
26
|
}
|
|
@@ -27,7 +28,7 @@ RCT_CUSTOM_VIEW_PROPERTY(hitSlop, UIEdgeInsets, RNGestureHandlerButton)
|
|
|
27
28
|
|
|
28
29
|
- (UIView *)view
|
|
29
30
|
{
|
|
30
|
-
|
|
31
|
+
return [RNGestureHandlerButton new];
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
@end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
2
|
|
|
3
3
|
typedef NS_ENUM(NSInteger, RNGestureHandlerDirection) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
RNGestureHandlerDirectionRight = 1,
|
|
5
|
+
RNGestureHandlerDirectionLeft = 2,
|
|
6
|
+
RNGestureHandlerDirectionUp = 4,
|
|
7
|
+
RNGestureHandlerDirectionDown = 8,
|
|
8
8
|
};
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
#import <Foundation/Foundation.h>
|
|
4
4
|
#import <UIKit/UIKit.h>
|
|
5
5
|
|
|
6
|
-
#import "RNGestureHandlerState.h"
|
|
7
6
|
#import "RNGHTouchEventType.h"
|
|
7
|
+
#import "RNGestureHandlerState.h"
|
|
8
8
|
|
|
9
9
|
@interface RNGestureHandlerEventExtraData : NSObject
|
|
10
10
|
|
|
@@ -48,18 +48,17 @@
|
|
|
48
48
|
- (instancetype)initWithReactTag:(NSNumber *)reactTag
|
|
49
49
|
handlerTag:(NSNumber *)handlerTag
|
|
50
50
|
state:(RNGestureHandlerState)state
|
|
51
|
-
extraData:(RNGestureHandlerEventExtraData*)extraData
|
|
51
|
+
extraData:(RNGestureHandlerEventExtraData *)extraData
|
|
52
52
|
coalescingKey:(uint16_t)coalescingKey NS_DESIGNATED_INITIALIZER;
|
|
53
53
|
|
|
54
54
|
@end
|
|
55
55
|
|
|
56
|
-
|
|
57
56
|
@interface RNGestureHandlerStateChange : NSObject <RCTEvent>
|
|
58
57
|
|
|
59
58
|
- (instancetype)initWithReactTag:(NSNumber *)reactTag
|
|
60
59
|
handlerTag:(NSNumber *)handlerTag
|
|
61
60
|
state:(RNGestureHandlerState)state
|
|
62
61
|
prevState:(RNGestureHandlerState)prevState
|
|
63
|
-
extraData:(RNGestureHandlerEventExtraData*)extraData NS_DESIGNATED_INITIALIZER;
|
|
62
|
+
extraData:(RNGestureHandlerEventExtraData *)extraData NS_DESIGNATED_INITIALIZER;
|
|
64
63
|
|
|
65
64
|
@end
|
|
@@ -6,23 +6,23 @@
|
|
|
6
6
|
|
|
7
7
|
- (instancetype)initWithData:(NSDictionary *)data;
|
|
8
8
|
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
if ((self = [super init])) {
|
|
10
|
+
_data = data;
|
|
11
|
+
}
|
|
12
|
+
return self;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
+ (RNGestureHandlerEventExtraData *)forPosition:(CGPoint)position
|
|
16
16
|
withAbsolutePosition:(CGPoint)absolutePosition
|
|
17
17
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
18
18
|
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
20
|
+
@"x" : @(position.x),
|
|
21
|
+
@"y" : @(position.y),
|
|
22
|
+
@"absoluteX" : @(absolutePosition.x),
|
|
23
|
+
@"absoluteY" : @(absolutePosition.y),
|
|
24
|
+
@"numberOfPointers" : @(numberOfTouches)
|
|
25
|
+
}];
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
+ (RNGestureHandlerEventExtraData *)forPosition:(CGPoint)position
|
|
@@ -30,15 +30,14 @@
|
|
|
30
30
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
31
31
|
withDuration:(NSUInteger)duration
|
|
32
32
|
{
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}];
|
|
33
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
34
|
+
@"x" : @(position.x),
|
|
35
|
+
@"y" : @(position.y),
|
|
36
|
+
@"absoluteX" : @(absolutePosition.x),
|
|
37
|
+
@"absoluteY" : @(absolutePosition.y),
|
|
38
|
+
@"numberOfPointers" : @(numberOfTouches),
|
|
39
|
+
@"duration" : @(duration)
|
|
40
|
+
}];
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
+ (RNGestureHandlerEventExtraData *)forPan:(CGPoint)position
|
|
@@ -47,17 +46,17 @@
|
|
|
47
46
|
withVelocity:(CGPoint)velocity
|
|
48
47
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
49
48
|
{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
50
|
+
@"x" : @(position.x),
|
|
51
|
+
@"y" : @(position.y),
|
|
52
|
+
@"absoluteX" : @(absolutePosition.x),
|
|
53
|
+
@"absoluteY" : @(absolutePosition.y),
|
|
54
|
+
@"translationX" : @(translation.x),
|
|
55
|
+
@"translationY" : @(translation.y),
|
|
56
|
+
@"velocityX" : SAFE_VELOCITY(velocity.x),
|
|
57
|
+
@"velocityY" : SAFE_VELOCITY(velocity.y),
|
|
58
|
+
@"numberOfPointers" : @(numberOfTouches)
|
|
59
|
+
}];
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
+ (RNGestureHandlerEventExtraData *)forForce:(CGFloat)force
|
|
@@ -65,15 +64,14 @@
|
|
|
65
64
|
withAbsolutePosition:(CGPoint)absolutePosition
|
|
66
65
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
67
66
|
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
67
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
68
|
+
@"x" : @(position.x),
|
|
69
|
+
@"y" : @(position.y),
|
|
70
|
+
@"absoluteX" : @(absolutePosition.x),
|
|
71
|
+
@"absoluteY" : @(absolutePosition.y),
|
|
72
|
+
@"force" : @(force),
|
|
73
|
+
@"numberOfPointers" : @(numberOfTouches)
|
|
74
|
+
}];
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
+ (RNGestureHandlerEventExtraData *)forPinch:(CGFloat)scale
|
|
@@ -81,13 +79,13 @@
|
|
|
81
79
|
withVelocity:(CGFloat)velocity
|
|
82
80
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
83
81
|
{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
82
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
83
|
+
@"scale" : @(scale),
|
|
84
|
+
@"focalX" : @(focalPoint.x),
|
|
85
|
+
@"focalY" : @(focalPoint.y),
|
|
86
|
+
@"velocity" : SAFE_VELOCITY(velocity),
|
|
87
|
+
@"numberOfPointers" : @(numberOfTouches)
|
|
88
|
+
}];
|
|
91
89
|
}
|
|
92
90
|
|
|
93
91
|
+ (RNGestureHandlerEventExtraData *)forRotation:(CGFloat)rotation
|
|
@@ -95,12 +93,13 @@
|
|
|
95
93
|
withVelocity:(CGFloat)velocity
|
|
96
94
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
97
95
|
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
96
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
97
|
+
@"rotation" : @(rotation),
|
|
98
|
+
@"anchorX" : @(anchorPoint.x),
|
|
99
|
+
@"anchorY" : @(anchorPoint.y),
|
|
100
|
+
@"velocity" : SAFE_VELOCITY(velocity),
|
|
101
|
+
@"numberOfPointers" : @(numberOfTouches)
|
|
102
|
+
}];
|
|
104
103
|
}
|
|
105
104
|
|
|
106
105
|
+ (RNGestureHandlerEventExtraData *)forEventType:(RNGHTouchEventType)eventType
|
|
@@ -108,33 +107,31 @@
|
|
|
108
107
|
withAllPointers:(NSArray<NSDictionary *> *)allPointers
|
|
109
108
|
withNumberOfTouches:(NSUInteger)numberOfTouches
|
|
110
109
|
{
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
110
|
+
if (changedPointers == nil || allPointers == nil) {
|
|
111
|
+
changedPointers = @[];
|
|
112
|
+
allPointers = @[];
|
|
113
|
+
eventType = RNGHTouchEventTypeUndetermined;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{
|
|
117
|
+
@"eventType" : @(eventType),
|
|
118
|
+
@"changedTouches" : changedPointers,
|
|
119
|
+
@"allTouches" : allPointers,
|
|
120
|
+
@"numberOfTouches" : @(numberOfTouches)
|
|
121
|
+
}];
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
+ (RNGestureHandlerEventExtraData *)forPointerInside:(BOOL)pointerInside
|
|
125
125
|
{
|
|
126
|
-
|
|
127
|
-
initWithData:@{@"pointerInside": @(pointerInside)}];
|
|
126
|
+
return [[RNGestureHandlerEventExtraData alloc] initWithData:@{@"pointerInside" : @(pointerInside)}];
|
|
128
127
|
}
|
|
129
128
|
|
|
130
129
|
@end
|
|
131
130
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
RNGestureHandlerState _state;
|
|
137
|
-
RNGestureHandlerEventExtraData *_extraData;
|
|
131
|
+
@implementation RNGestureHandlerEvent {
|
|
132
|
+
NSNumber *_handlerTag;
|
|
133
|
+
RNGestureHandlerState _state;
|
|
134
|
+
RNGestureHandlerEventExtraData *_extraData;
|
|
138
135
|
}
|
|
139
136
|
|
|
140
137
|
@synthesize viewTag = _viewTag;
|
|
@@ -146,56 +143,54 @@
|
|
|
146
143
|
extraData:(RNGestureHandlerEventExtraData *)extraData
|
|
147
144
|
coalescingKey:(uint16_t)coalescingKey
|
|
148
145
|
{
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
146
|
+
if ((self = [super init])) {
|
|
147
|
+
_viewTag = reactTag;
|
|
148
|
+
_handlerTag = handlerTag;
|
|
149
|
+
_state = state;
|
|
150
|
+
_extraData = extraData;
|
|
151
|
+
_coalescingKey = coalescingKey;
|
|
152
|
+
}
|
|
153
|
+
return self;
|
|
157
154
|
}
|
|
158
155
|
|
|
159
|
-
RCT_NOT_IMPLEMENTED(-
|
|
156
|
+
RCT_NOT_IMPLEMENTED(-(instancetype)init)
|
|
160
157
|
|
|
161
158
|
- (NSString *)eventName
|
|
162
159
|
{
|
|
163
|
-
|
|
160
|
+
return @"onGestureHandlerEvent";
|
|
164
161
|
}
|
|
165
162
|
|
|
166
163
|
- (BOOL)canCoalesce
|
|
167
164
|
{
|
|
168
|
-
|
|
165
|
+
return YES;
|
|
169
166
|
}
|
|
170
167
|
|
|
171
168
|
- (id<RCTEvent>)coalesceWithEvent:(id<RCTEvent>)newEvent;
|
|
172
169
|
{
|
|
173
|
-
|
|
170
|
+
return newEvent;
|
|
174
171
|
}
|
|
175
172
|
|
|
176
173
|
+ (NSString *)moduleDotMethod
|
|
177
174
|
{
|
|
178
|
-
|
|
175
|
+
return @"RCTEventEmitter.receiveEvent";
|
|
179
176
|
}
|
|
180
177
|
|
|
181
178
|
- (NSArray *)arguments
|
|
182
179
|
{
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
180
|
+
NSMutableDictionary *body = [NSMutableDictionary dictionaryWithDictionary:_extraData.data];
|
|
181
|
+
[body setObject:_viewTag forKey:@"target"];
|
|
182
|
+
[body setObject:_handlerTag forKey:@"handlerTag"];
|
|
183
|
+
[body setObject:@(_state) forKey:@"state"];
|
|
184
|
+
return @[ self.viewTag, @"onGestureHandlerEvent", body ];
|
|
188
185
|
}
|
|
189
186
|
|
|
190
187
|
@end
|
|
191
188
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
RNGestureHandlerState _prevState;
|
|
198
|
-
RNGestureHandlerEventExtraData *_extraData;
|
|
189
|
+
@implementation RNGestureHandlerStateChange {
|
|
190
|
+
NSNumber *_handlerTag;
|
|
191
|
+
RNGestureHandlerState _state;
|
|
192
|
+
RNGestureHandlerState _prevState;
|
|
193
|
+
RNGestureHandlerEventExtraData *_extraData;
|
|
199
194
|
}
|
|
200
195
|
|
|
201
196
|
@synthesize viewTag = _viewTag;
|
|
@@ -207,49 +202,49 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
207
202
|
prevState:(RNGestureHandlerState)prevState
|
|
208
203
|
extraData:(RNGestureHandlerEventExtraData *)extraData
|
|
209
204
|
{
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
205
|
+
static uint16_t coalescingKey = 0;
|
|
206
|
+
if ((self = [super init])) {
|
|
207
|
+
_viewTag = reactTag;
|
|
208
|
+
_handlerTag = handlerTag;
|
|
209
|
+
_state = state;
|
|
210
|
+
_prevState = prevState;
|
|
211
|
+
_extraData = extraData;
|
|
212
|
+
_coalescingKey = coalescingKey++;
|
|
213
|
+
}
|
|
214
|
+
return self;
|
|
220
215
|
}
|
|
221
216
|
|
|
222
|
-
RCT_NOT_IMPLEMENTED(-
|
|
217
|
+
RCT_NOT_IMPLEMENTED(-(instancetype)init)
|
|
223
218
|
|
|
224
219
|
- (NSString *)eventName
|
|
225
220
|
{
|
|
226
|
-
|
|
221
|
+
return @"onGestureHandlerStateChange";
|
|
227
222
|
}
|
|
228
223
|
|
|
229
224
|
- (BOOL)canCoalesce
|
|
230
225
|
{
|
|
231
|
-
|
|
232
|
-
|
|
226
|
+
// TODO: event coalescing
|
|
227
|
+
return NO;
|
|
233
228
|
}
|
|
234
229
|
|
|
235
230
|
- (id<RCTEvent>)coalesceWithEvent:(id<RCTEvent>)newEvent;
|
|
236
231
|
{
|
|
237
|
-
|
|
232
|
+
return newEvent;
|
|
238
233
|
}
|
|
239
234
|
|
|
240
235
|
+ (NSString *)moduleDotMethod
|
|
241
236
|
{
|
|
242
|
-
|
|
237
|
+
return @"RCTEventEmitter.receiveEvent";
|
|
243
238
|
}
|
|
244
239
|
|
|
245
240
|
- (NSArray *)arguments
|
|
246
241
|
{
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
242
|
+
NSMutableDictionary *body = [NSMutableDictionary dictionaryWithDictionary:_extraData.data];
|
|
243
|
+
[body setObject:_viewTag forKey:@"target"];
|
|
244
|
+
[body setObject:_handlerTag forKey:@"handlerTag"];
|
|
245
|
+
[body setObject:@(_state) forKey:@"state"];
|
|
246
|
+
[body setObject:@(_prevState) forKey:@"oldState"];
|
|
247
|
+
return @[ self.viewTag, @"onGestureHandlerStateChange", body ];
|
|
253
248
|
}
|
|
254
249
|
|
|
255
250
|
@end
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
- (void)dropAllGestureHandlers;
|
|
28
28
|
|
|
29
|
-
- (void)handleSetJSResponder:(nonnull NSNumber *)viewTag
|
|
30
|
-
blockNativeResponder:(nonnull NSNumber *)blockNativeResponder;
|
|
29
|
+
- (void)handleSetJSResponder:(nonnull NSNumber *)viewTag blockNativeResponder:(nonnull NSNumber *)blockNativeResponder;
|
|
31
30
|
|
|
32
31
|
- (void)handleClearJSResponder;
|
|
33
32
|
|