| Index: services/viz/hit_test/public/interfaces/hit_test_region_list.mojom
|
| diff --git a/services/viz/hit_test/public/interfaces/hit_test_region_list.mojom b/services/viz/hit_test/public/interfaces/hit_test_region_list.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3c3674382c2fb1add1efb7a6d965460ca835d288
|
| --- /dev/null
|
| +++ b/services/viz/hit_test/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.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).
|
| + 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;
|
| +};
|
|
|