mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-26 05:48:46 +03:00
57 lines
1.9 KiB
Plaintext
57 lines
1.9 KiB
Plaintext
|
// Copyright 2015 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 ui.mojom;
|
||
|
|
||
|
import "ui/events/mojo/event_constants.mojom";
|
||
|
import "ui/events/mojo/keyboard_codes.mojom";
|
||
|
import "ui/gfx/geometry/mojo/geometry.mojom";
|
||
|
|
||
|
struct KeyEventMatcher {
|
||
|
ui.mojom.KeyboardCode keyboard_code;
|
||
|
};
|
||
|
|
||
|
struct PointerKindMatcher {
|
||
|
ui.mojom.PointerKind pointer_kind;
|
||
|
};
|
||
|
|
||
|
struct PointerLocationMatcher {
|
||
|
gfx.mojom.RectF region;
|
||
|
};
|
||
|
|
||
|
struct EventTypeMatcher {
|
||
|
ui.mojom.EventType type;
|
||
|
};
|
||
|
|
||
|
struct EventFlagsMatcher {
|
||
|
// A bitfield of kEventFlag* and kMouseEventFlag* values in
|
||
|
// input_event_constants.mojom.
|
||
|
int32 flags;
|
||
|
};
|
||
|
|
||
|
// If a specific matcher is missing, then an Event will match this EventMatcher
|
||
|
// (if relevant). For example, if |type_matcher| is missing, then events of all
|
||
|
// types will match this EventMatcher. Similarly, if |key_matcher| is missing,
|
||
|
// then all key-events will match.
|
||
|
// An example matcher to match the Ctrl+A accelerator would be:
|
||
|
// - |type_matcher.type| = ui::mojom::EventType::KEY_PRESSED
|
||
|
// - |flags_matcher.flags| = ui::mojom::kEventFlagControlDown
|
||
|
// - |key_matcher.keyboard_code| = ui::mojom::KeyboardCode::A
|
||
|
//
|
||
|
// A matcher to match any key-press event would be:
|
||
|
// - |type_matcher.type| = ui::mojom::EventType::KEY_PRESSED
|
||
|
struct EventMatcher {
|
||
|
// |accelerator_phase| is only applicable to accelerators.
|
||
|
// TODO(jamescook): Move this to somewhere accelerator-specific.
|
||
|
ui.mojom.AcceleratorPhase accelerator_phase;
|
||
|
EventTypeMatcher? type_matcher;
|
||
|
EventFlagsMatcher? flags_matcher;
|
||
|
// These flags will be stripped from incoming events' flags when comparing
|
||
|
// against |flags_matcher|.
|
||
|
EventFlagsMatcher? ignore_flags_matcher;
|
||
|
KeyEventMatcher? key_matcher;
|
||
|
PointerKindMatcher? pointer_kind_matcher;
|
||
|
PointerLocationMatcher? pointer_location_matcher;
|
||
|
};
|