Automatically capture mouse on windows on mouse down #695
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.
This pull requests adds functionality on windows to automatically capture mouse when the first mouse button down event is received, and holds the capture until the last mouse button is released, as proposed by @raphlinus in #457. This seemed like the best solution, since the standard behavior on Cocoa is to capture all mouse buttons.
Note that there is one windows specific edge case that still needs to be handled by the app, which is dealing with another app stealing mouse capture. Ideally we should expose this event outside of druid-shell to allow the app to do similar processing to mouse up, for example releasing the scroll bar.