Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(965)

Issue 1748363002: Mozart: Add hit testing interfaces. (Closed)

Created:
4 years, 9 months ago by jeffbrown
Modified:
4 years, 9 months ago
Reviewers:
abarth
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, darin (slow to review), gregsimon, mojo-reviews_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org
Base URL:
git@github.com:domokit/mojo.git@moz-1
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Mozart: 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+616 lines, -115 lines) Patch
M mojo/dart/packages/mojo_services/lib/mojo/gfx/composition/hit_tests.mojom.dart View 1 2 10 chunks +402 lines, -64 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/gfx/composition/nodes.mojom.dart View 6 chunks +18 lines, -17 lines 0 comments Download
M mojo/services/gfx/composition/cpp/formatting.h View 1 2 1 chunk +14 lines, -0 lines 0 comments Download
M mojo/services/gfx/composition/cpp/formatting.cc View 1 2 2 chunks +54 lines, -2 lines 0 comments Download
M mojo/services/gfx/composition/interfaces/hit_tests.mojom View 1 2 1 chunk +84 lines, -26 lines 0 comments Download
M mojo/services/gfx/composition/interfaces/nodes.mojom View 2 chunks +44 lines, -6 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 6 (2 generated)
jeffbrown
Please let me know what you think. Thanks!
4 years, 9 months ago (2016-03-01 08:11:55 UTC) #2
abarth
LGTM https://codereview.chromium.org/1748363002/diff/20001/mojo/services/gfx/composition/interfaces/hit_tests.mojom File mojo/services/gfx/composition/interfaces/hit_tests.mojom (right): https://codereview.chromium.org/1748363002/diff/20001/mojo/services/gfx/composition/interfaces/hit_tests.mojom#newcode103 mojo/services/gfx/composition/interfaces/hit_tests.mojom:103: }; I was expecting NodeHit to have an ...
4 years, 9 months ago (2016-03-01 17:33:43 UTC) #3
jeffbrown
https://codereview.chromium.org/1748363002/diff/20001/mojo/services/gfx/composition/interfaces/hit_tests.mojom File mojo/services/gfx/composition/interfaces/hit_tests.mojom (right): https://codereview.chromium.org/1748363002/diff/20001/mojo/services/gfx/composition/interfaces/hit_tests.mojom#newcode103 mojo/services/gfx/composition/interfaces/hit_tests.mojom:103: }; On 2016/03/01 17:33:43, abarth wrote: > I was ...
4 years, 9 months ago (2016-03-02 00:51:52 UTC) #4
jeffbrown
4 years, 9 months ago (2016-03-02 19:18:04 UTC) #6
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
c1287c19972d5010f0c0ada3464a0d3e459e7480 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698