| 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 |