Skip to content

Commit 443bf0f

Browse files
authored
Merge branch 'main' into @mbert/naative-emit-coordinates
2 parents 4cfafe4 + 8bfaefa commit 443bf0f

1 file changed

Lines changed: 22 additions & 25 deletions

File tree

packages/react-native-gesture-handler/apple/Handlers/RNHoverHandler.m

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -202,33 +202,30 @@ - (void)unbindFromView
202202
_view = nil;
203203
}
204204

205+
- (RNGestureHandlerEventExtraData *)extraDataForEvent:(NSEvent *)event
206+
{
207+
CGPoint windowLocation = [event locationInWindow];
208+
CGPoint relativePos = [_view convertPoint:windowLocation fromView:nil];
209+
CGPoint absolutePos = [_view.window.contentView convertPoint:windowLocation fromView:nil];
210+
211+
return [RNGestureHandlerEventExtraData forPosition:relativePos
212+
withAbsolutePosition:absolutePos
213+
withNumberOfTouches:1
214+
withPointerType:_pointerType];
215+
}
216+
205217
- (void)mouseEntered:(NSEvent *)event
206218
{
207-
[self sendEventsInState:RNGestureHandlerStateBegan
208-
forViewWithTag:_view.reactTag
209-
withExtraData:[RNGestureHandlerEventExtraData forPointerInside:YES
210-
withNumberOfTouches:1
211-
withPointerType:_pointerType]];
212-
[self sendEventsInState:RNGestureHandlerStateActive
213-
forViewWithTag:_view.reactTag
214-
withExtraData:[RNGestureHandlerEventExtraData forPointerInside:YES
215-
withNumberOfTouches:1
216-
withPointerType:_pointerType]];
217-
}
218-
219-
- (void)mouseExited:(NSEvent *)theEvent
220-
{
221-
[self sendEventsInState:RNGestureHandlerStateEnd
222-
forViewWithTag:_view.reactTag
223-
withExtraData:[RNGestureHandlerEventExtraData forPointerInside:NO
224-
withNumberOfTouches:1
225-
withPointerType:_pointerType]];
226-
227-
[self sendEventsInState:RNGestureHandlerStateUndetermined
228-
forViewWithTag:_view.reactTag
229-
withExtraData:[RNGestureHandlerEventExtraData forPointerInside:NO
230-
withNumberOfTouches:1
231-
withPointerType:_pointerType]];
219+
RNGestureHandlerEventExtraData *extraData = [self extraDataForEvent:event];
220+
[self sendEventsInState:RNGestureHandlerStateBegan forViewWithTag:_view.reactTag withExtraData:extraData];
221+
[self sendEventsInState:RNGestureHandlerStateActive forViewWithTag:_view.reactTag withExtraData:extraData];
222+
}
223+
224+
- (void)mouseExited:(NSEvent *)event
225+
{
226+
RNGestureHandlerEventExtraData *extraData = [self extraDataForEvent:event];
227+
[self sendEventsInState:RNGestureHandlerStateEnd forViewWithTag:_view.reactTag withExtraData:extraData];
228+
[self sendEventsInState:RNGestureHandlerStateUndetermined forViewWithTag:_view.reactTag withExtraData:extraData];
232229
}
233230

234231
@end

0 commit comments

Comments
 (0)