1 // Copyright (c) 2012 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.
5 #ifndef UI_EVENTS_EVENT_CONSTANTS_H_
6 #define UI_EVENTS_EVENT_CONSTANTS_H_
10 // Event types. (prefixed because of a conflict with windows headers)
22 ET_MOUSE_CAPTURE_CHANGED, // Event has no location.
29 ET_TRANSLATED_KEY_PRESS,
30 ET_TRANSLATED_KEY_RELEASE,
33 ET_GESTURE_SCROLL_BEGIN,
34 ET_GESTURE_TYPE_START = ET_GESTURE_SCROLL_BEGIN,
35 ET_GESTURE_SCROLL_END,
36 ET_GESTURE_SCROLL_UPDATE,
39 ET_GESTURE_TAP_CANCEL,
40 ET_GESTURE_TAP_UNCONFIRMED, // User tapped, but the tap delay hasn't expired.
41 ET_GESTURE_DOUBLE_TAP,
42 ET_GESTURE_BEGIN, // Sent before any other gesture types.
43 ET_GESTURE_END, // Sent after any other gestures.
44 ET_GESTURE_TWO_FINGER_TAP,
45 ET_GESTURE_PINCH_BEGIN,
47 ET_GESTURE_PINCH_UPDATE,
48 ET_GESTURE_LONG_PRESS,
50 // A SWIPE gesture can happen at the end of a TAP_UP gesture if the
51 // finger(s) were moving quickly before they are released.
52 ET_GESTURE_MULTIFINGER_SWIPE,
53 ET_GESTURE_SHOW_PRESS,
55 // Sent by Win8+ metro when the user swipes from the bottom or top.
56 ET_GESTURE_WIN8_EDGE_SWIPE,
59 // TODO[davemoore] we need to unify these events w/ touch and gestures.
61 ET_SCROLL_FLING_START,
62 ET_SCROLL_FLING_CANCEL,
63 ET_GESTURE_TYPE_END = ET_SCROLL_FLING_CANCEL,
65 // Sent by the system to indicate any modal type operations, such as drag and
66 // drop or menus, should stop.
69 // Sent by the CrOS gesture library for interesting patterns that we want
70 // to track with the UMA system.
73 // Must always be last. User namespace starts above this value.
74 // See ui::RegisterCustomEventType().
78 // Event flags currently supported
80 EF_NONE = 0, // Used to denote no flags explicitly
81 EF_CAPS_LOCK_DOWN = 1 << 0,
82 EF_SHIFT_DOWN = 1 << 1,
83 EF_CONTROL_DOWN = 1 << 2,
85 EF_LEFT_MOUSE_BUTTON = 1 << 4,
86 EF_MIDDLE_MOUSE_BUTTON = 1 << 5,
87 EF_RIGHT_MOUSE_BUTTON = 1 << 6,
88 EF_COMMAND_DOWN = 1 << 7, // Only useful on OSX
89 EF_EXTENDED = 1 << 8, // Windows extended key (see WM_KEYDOWN doc)
90 EF_IS_SYNTHESIZED = 1 << 9,
91 EF_ALTGR_DOWN = 1 << 10,
94 // Flags specific to key events
96 EF_NUMPAD_KEY = 1 << 16, // Key originates from number pad (Xkb only)
97 EF_IME_FABRICATED_KEY = 1 << 17, // Key event fabricated by the underlying
98 // IME without a user action.
102 // Flags specific to mouse events
103 enum MouseEventFlags {
104 EF_IS_DOUBLE_CLICK = 1 << 16,
105 EF_IS_TRIPLE_CLICK = 1 << 17,
106 EF_IS_NON_CLIENT = 1 << 18,
107 EF_FROM_TOUCH = 1 << 19, // Indicates this mouse event is generated
108 // from an unconsumed touch/gesture event.
111 // Result of dispatching an event.
113 ER_UNHANDLED = 0, // The event hasn't been handled. The event can be
114 // propagated to other handlers.
115 ER_HANDLED = 1 << 0, // The event has already been handled, but it can
116 // still be propagated to other handlers.
117 ER_CONSUMED = 1 << 1, // The event has been handled, and it should not be
118 // propagated to other handlers.
121 // Phase of the event dispatch.
132 #endif // UI_EVENTS_EVENT_CONSTANTS_H_