DescriptionMozart: Add hit testing interfaces.
Define Mojo interfaces for hit testing functionality modeled after
Flutter's hit test traversal process.
Each node can supply a hit test behavior to control how hit testing
should occur within its bounds. The key properties are visibility,
pruning, and a hit rect.
Visibility is one of |INVISIBLE|, |TRANSLUCENT|, and |OPAQUE|.
This property determines whether a node can be hit and its effect
upon subsequent traversals once hit.
Pruning determines whether children of a node will be hit tested
at all. This can be used to suppress hit testing for a subgraph.
And the hit rect is just a finer specification of the hittable region
within a node's bounds. In the future, this will likely expand
to describe more complex regions.
The results of a hit test are described structurally as a tree which
records the event dispatch order for nodes which are hit as well as
the path by which they were reached.
In general, the dispatch order goes from the most specific hit node
outwards which can be significant for certain operations.
BUG=
R=abarth@google.com
Committed: https://chromium.googlesource.com/external/mojo/+/c1287c19972d5010f0c0ada3464a0d3e459e7480
Patch Set 1 #Patch Set 2 : #
Total comments: 4
Patch Set 3 : simplify interfaces a bit #
Depends on Patchset: Messages
Total messages: 6 (2 generated)
|