Chromium Code Reviews| Index: services/viz/public/interfaces/hit_test_region_list.mojom |
| diff --git a/services/viz/public/interfaces/hit_test_region_list.mojom b/services/viz/public/interfaces/hit_test_region_list.mojom |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..604c3c30df1c5336a1a725891e20a1dc9760d48a |
| --- /dev/null |
| +++ b/services/viz/public/interfaces/hit_test_region_list.mojom |
| @@ -0,0 +1,59 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +module viz.hit_test.mojom; |
| + |
| +import "cc/ipc/surface_id.mojom"; |
| +import "ui/gfx/geometry/mojo/geometry.mojom"; |
| +import "ui/gfx/mojo/transform.mojom"; |
| + |
| +// Region maps to this surface ( me ). |
| +const uint32 kHitTestMine = 0x01; |
| + |
| +// Region ignored for hit testing ( transparent backgrounds & hover:none ). |
| +const uint32 kHitTestIgnore = 0x02; |
| + |
| +// Region maps to child surface ( OOPIF ). |
| +const uint32 kHitTestChildSurface = 0x04; |
| + |
| +// Irregular boundary - send HitTestRequest to resolve. |
| +const uint32 kHitTestAsk = 0x08; |
| + |
| +// Touch event handler exists. |
| +const uint32 kHitTestTouchEventHandler = 0x10; |
| + |
| +struct HitTestRegion { |
| + // Flags to indicate the type of HitTestRegion. |
| + uint32 flags; |
| + |
| + // SurfaceId is required when flags = kHitTestChildSurface. |
| + cc.mojom.SurfaceId surface_id; |
| + |
| + // The rect of the region in the coordinate space of the embedder. |
| + gfx.mojom.Rect rect; |
| + |
| + // The transform of the region. The transform applied to the rect |
| + // defines the space occupied by this region in the coordinate space of |
| + // the embedder. |
| + gfx.mojom.Transform transform; |
| +}; |
| + |
| +struct HitTestRegionList { |
| + // SurfaceId corresponding to this HitTestData. |
| + cc.mojom.SurfaceId surface_id; |
| + |
| + // Flags indicate how to handle events that match no sub-regions. |
| + // kHitTestMine routes un-matched events to this surface ( opaque ). |
| + // kHitTestIgnore keeps previous match in the parent ( transparent ). |
|
varkha
2017/06/28 19:20:38
nit: spacing (here and elsewhere in this file).
gklassen
2017/06/29 11:56:26
Done.
|
| + uint32 flags; |
| + |
| + // The bounds of the surface. |
| + gfx.mojom.Rect bounds; |
| + |
| + // The transform applied to all regions in this surface. |
| + gfx.mojom.Transform transform; |
| + |
| + // The list of sub-regions in front to back order. |
| + array<HitTestRegion> regions; |
| +}; |