flickable consider virtual keyboard#11570
Draft
Murmele wants to merge 9 commits intoslint-ui:masterfrom
Draft
Conversation
The previous implementation accumulated geometry recursively by adding parent origins, ignoring scale and rotate transforms entirely. Items inside a scaled or rotated Transform element would report wrong window-space geometry and clip rects, causing incorrect hit testing and element inspection results. Extract a shared `local_to_window_transform(stop_condition)` helper that walks the ancestor chain composing each ancestor's `children_transform` (scale/rotate, via the same logic as the partial renderer's `current_transform()`) followed by its translation into a single `ItemTransform`. Use `outer_transformed_rect` to map the local rect to window space, correctly covering rotation as well as scale. Simplify `map_to_item_tree_impl` to use the same helper, removing the duplicate ancestor walk.
Combine nested `if` statements using a let-chain.
Reason: otherwise in the flickable always the mapping to the item coordinate system is done which is not neccessary
…ates Reason: Because geometry does not consider the flick position of the parent
d7f5736 to
39cda56
Compare
Murmele
commented
Apr 29, 2026
| !(delta.x == 0 as Coord && flick.viewport_height() <= geo.height_length()) | ||
| && !(delta.y == 0 as Coord && flick.viewport_width() <= geo.width_length()) | ||
|
|
||
| (delta.y != 0 as Coord && flick.viewport_height() > geo.height_length()) |
Contributor
Author
There was a problem hiding this comment.
@LeonMatthes do we need to have it orthogonal? Otherwise the expression can be simplified a bit :)
Member
There was a problem hiding this comment.
Probably not as long as a direction that can be scrolled is part of the event, even if it's diagonal, then we should probably accept it. How would you simplify this?
Contributor
Author
There was a problem hiding this comment.
Like it is here already :)
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Follow up of #11519
map the geometry origin to window instead of keyboard to item coordinates
Reason: Because geometry does not consider the flick position of the parent