-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Internal PointerCaptureChanging event #19833
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
You can test this PR using the following package version. |
MrJul
left a comment
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.
LGTM!
|
You can test this PR using the following package version. |
|
Looks like integration tests for win32 interop are failing now |
|
Right, so there was actually a change, the |
|
You can test this PR using the following package version. |
|
You can test this PR using the following package version. |
* PointerCaptureChanging event * PR feedback * Announce implicit capture to platform --------- Co-authored-by: Jan Kučera <[email protected]> Co-authored-by: Max Katz <[email protected]>
What does the pull request do?
Tracks the source of capture changes and introduces internal
PointerCaptureChangingevent that gives controls ability to suppress capture change. This allows to implement different mouse capture semantics, notably suppressing platform capture loss.What is the current behavior?
Implicit capture model (Linux+macOS) is enforced on all platforms.
What is the updated/expected behavior with this PR?
No behavior changes for Avalonia projects as no control handles this event.
How was the solution implemented (if it's not obvious)?
The
Pointer.Capturewill return early if thePointerCaptureChangingevent is marked as handled and will keep the existingCapturedelement.Checklist
Breaking changes
No breaking changes expected.