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

Side by Side Diff: mojo/services/ui/views/interfaces/view_associates.mojom

Issue 1774393002: Mozart: Add ViewInspector contracts for hit testing. (Closed) Base URL: git@github.com:domokit/mojo.git@moz-5
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 [DartPackage="mojo_services"] 5 [DartPackage="mojo_services"]
6 module mojo.ui; 6 module mojo.ui;
7 7
8 import "mojo/public/interfaces/application/service_provider.mojom"; 8 import "mojo/public/interfaces/application/service_provider.mojom";
9 import "mojo/services/gfx/composition/interfaces/scene_token.mojom";
9 import "mojo/services/ui/views/interfaces/views.mojom"; 10 import "mojo/services/ui/views/interfaces/views.mojom";
10 import "mojo/services/ui/views/interfaces/view_trees.mojom"; 11 import "mojo/services/ui/views/interfaces/view_trees.mojom";
11 12
12 // View associates are trusted components that are attached to a view manager 13 // View associates are trusted components that are attached to a view manager
13 // instance with the purpose of offering additional services to views and 14 // instance with the purpose of offering additional services to views and
14 // view trees registered beyond the basic operations performed by the 15 // view trees registered beyond the basic operations performed by the
15 // view manager itself. Associates may be used to implement input, 16 // view manager itself. Associates may be used to implement input,
16 // accessibility, editing, and other capabilities. 17 // accessibility, editing, and other capabilities.
17 // 18 //
18 // Associates are coupled to a view manager instance for the entire life 19 // Associates are coupled to a view manager instance for the entire life
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 array<string>? view_service_names; 69 array<string>? view_service_names;
69 70
70 // The names of view tree services offered by the associate. 71 // The names of view tree services offered by the associate.
71 // May be null if none. 72 // May be null if none.
72 array<string>? view_tree_service_names; 73 array<string>? view_tree_service_names;
73 }; 74 };
74 75
75 // Provides a view associate with the ability to inspect and perform operations 76 // Provides a view associate with the ability to inspect and perform operations
76 // on the contents of views and view trees. 77 // on the contents of views and view trees.
77 interface ViewInspector { 78 interface ViewInspector {
79 // Provides an interface which can be used to perform hit tests on the
80 // contents of the view tree's scene graph.
81 //
82 // The |hit_tester| will be closed if the view tree is not attached to a
83 // renderer, when it is reattached to a different renderer, or when the
84 // view tree is destroyed.
85 //
86 // The callback will be invoked the hit tester is invalidated.
87 // If |renderer_changed| is true, the client should call |GetHitTester|
88 // again to obtain a new one. Otherwise it should assume that the view
89 // tree has become unavailable (so no hit tester is available).
90 GetHitTester(ViewTreeToken view_tree_token,
91 mojo.gfx.composition.HitTester& hit_tester) =>
92 (bool renderer_changed);
78 93
94 // Given an array of scene tokens, produces an array of view tokens
95 // of equal size containing the view to which the scene belongs or null
96 // if the scene token does not belong to any view.
97 //
98 // It is safe to cache the results of this operation because a scene will
99 // only ever be associated with at most one view although a view may
100 // create several scenes during its lifetime.
101 ResolveScenes(array<mojo.gfx.composition.SceneToken> scene_tokens) =>
102 (array<ViewToken?> view_tokens);
79 }; 103 };
OLDNEW
« no previous file with comments | « mojo/dart/packages/mojo_services/lib/mojo/ui/view_associates.mojom.dart ('k') | services/ui/view_manager/view_registry.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698