[RCTTouchHandler] Invert Y coordinate when sending touch events to JS #1862
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please select one of the following
Summary
macOS has an inverted Y coordinate for its screen coordinate system compared to other OS'es. This led to a bug where pressIn/pressOut on Pressables was calculated with the wrong rect, and click hold->move mouse out of button rect was doing weird stuff. Also some animation code was off. It's easier to explain with a video:
Screen.Recording.2023-06-27.at.5.40.13.PM.mov
The solution is to flip the Y coordinate in RCTTouchHandler when sending the touch (aka click) event to JS.
Changelog
[MACOS] [FIXED] - nvert Y coordinate when sending to JS in RCTTouchHandler
Test Plan
Tested the same two demos and they work now :)
Screen.Recording.2023-06-27.at.5.37.39.PM.mov