This repository has been archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
[macOS] Fix FlutterView cursor hit testing #53171
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
2f0dd4f
to
304a973
Compare
knopp
suggested changes
Jun 3, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fix seems good to me. hitTest:
location is in superview coordinate space, so I should have used superview to transform the coordinates.
knopp
reviewed
Jun 3, 2024
a1641e9
to
2923e52
Compare
knopp
approved these changes
Jun 4, 2024
Thanks! |
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Jun 4, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Jun 4, 2024
auto-submit bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Jun 4, 2024
…149680) flutter/engine@e211c43...fe00f02 2024-06-04 [email protected] Separate layer-specific data in DisplayListBuilder::SaveInfo (flutter/engine#53186) 2024-06-04 [email protected] [macOS] Fix FlutterView cursor hit testing (flutter/engine#53171) 2024-06-04 [email protected] Roll Dart SDK from 9dce57c343ec to 2d7d6facc2b4 (1 revision) (flutter/engine#53193) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
fix cursor hit testing in platform view in #52159
We found that the mechanism of
[NSView hitTest: view]
will handle the flip coordinate automatically. In the previous PR, because the superview of FlutterView was not flipped, we should not convert the point using[self convertPoint:event.locationInWindow fromView:nil]
.The FlutterView hit test should run under the window coordinate system; otherwise, FlutterMutatorView will hit a wrong point.Before the fix:
Actual mouse move:
event.locationInWindow (x = 47.45703125, y = 416.86328125)
FlutterView HitTest:
(NSPoint) point = (x = 47.45703125, y = 203.13671875)
FlutterMutatorView HitTest:
(NSPoint) point = (x = 47.45703125, y = 416.86328125)
After the fix:
Actual mouse move:
event.locationInWindow (x = 47.45703125, y = 416.86328125)
FlutterView HitTest:
(NSPoint) point = (x = 47.45703125, y = 416.86328125)
FlutterMutatorView HitTest:
(NSPoint) point = (x = 47.45703125, y = 203.13671875)
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.