Improve hit-test of thin widgets, and widgets across layers #5468
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.
When there are multiple layers (e.g. with custom transforms) close to each other, the hit test code used to only consider widgets in the layer directly under the mouse. This can make it difficult to hit thin widgets just on the outside of a transform layer.
This PR fixes that.
It also prioritizes thin widgets, so that if there is both a thin widget and a thick widget under the mouse cursor, you will always hit the thin widgets, even if the thin widgets is layered behind the thick one. This makes it easier to hit thin resize-handles.
In theory this should allow us to make
resize_grab_radius_side
andresize_grab_radius_corner
smaller in a future PR, if we want to.