OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 module mus.mojom; | |
6 | |
7 import "ui/events/mojo/event_constants.mojom"; | |
8 import "ui/events/mojo/keyboard_codes.mojom"; | |
9 import "ui/gfx/geometry/mojo/geometry.mojom"; | |
10 | |
11 struct KeyEventMatcher { | |
12 ui.mojom.KeyboardCode keyboard_code; | |
13 }; | |
14 | |
15 struct PointerKindMatcher { | |
16 ui.mojom.PointerKind pointer_kind; | |
17 }; | |
18 | |
19 struct PointerLocationMatcher { | |
20 gfx.mojom.RectF region; | |
21 }; | |
22 | |
23 struct EventTypeMatcher { | |
24 ui.mojom.EventType type; | |
25 }; | |
26 | |
27 struct EventFlagsMatcher { | |
28 // A bitfield of kEventFlag* and kMouseEventFlag* values in | |
29 // input_event_constants.mojom. | |
30 int32 flags; | |
31 }; | |
32 | |
33 // If a specific matcher is missing, then an Event will match this EventMatcher | |
34 // (if relevant). For example, if |type_matcher| is missing, then events of all | |
35 // types will match this EventMatcher. Similarly, if |key_matcher| is missing, | |
36 // then all key-events will match. | |
37 // An example matcher to match the Ctrl+A accelerator would be: | |
38 // - |type_matcher.type| = ui::mojom::EventType::KEY_PRESSED | |
39 // - |flags_matcher.flags| = ui::mojom::kEventVlagControlDown | |
40 // - |key_matcher.keyboard_code| = ui::mojom::KeyboardCode::A | |
41 // | |
42 // A matcher to match any key-press event would be: | |
43 // - |type_matcher.type| = ui::mojom::EventType::KEY_PRESSED | |
44 struct EventMatcher { | |
45 // TODO(jamescook): Move this to somewhere accelerator-specific. | |
46 ui.mojom.AcceleratorPhase accelerator_phase; | |
47 EventTypeMatcher? type_matcher; | |
48 EventFlagsMatcher? flags_matcher; | |
49 // These flags will be stripped from incoming events' flags when comparing | |
50 // against |flags_matcher|. | |
51 EventFlagsMatcher? ignore_flags_matcher; | |
52 KeyEventMatcher? key_matcher; | |
53 PointerKindMatcher? pointer_kind_matcher; | |
54 PointerLocationMatcher? pointer_location_matcher; | |
55 }; | |
OLD | NEW |