// Copyright 2014 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; // AcceleratorPhase specifies which phase of event matching the matcher should // be considered for. See WindowTree for details on how it handles the // AcceleratorPhase. enum AcceleratorPhase { PRE_TARGET, POST_TARGET, }; enum EventType { UNKNOWN, KEY_PRESSED, KEY_RELEASED, POINTER_CANCEL, POINTER_DOWN, POINTER_MOVE, POINTER_UP, POINTER_WHEEL_CHANGED, MOUSE_EXIT, GESTURE_TAP, }; // This mirrors ui::EventFlags // TODO(morrita): Use shift operator once it is available. const int32 kEventFlagNone = 0x00000; const int32 kEventFlagIsSynthesized = 0x00001; const int32 kEventFlagShiftDown = 0x00002; const int32 kEventFlagControlDown = 0x00004; const int32 kEventFlagAltDown = 0x00008; const int32 kEventFlagCommandDown = 0x00010; const int32 kEventFlagAltgrDown = 0x00020; const int32 kEventFlagMod3Down = 0x00040; const int32 kEventFlagNumLockOn = 0x00080; const int32 kEventFlagCapsLockOn = 0x00100; const int32 kEventFlagScrollLockOn = 0x00200; const int32 kEventFlagLeftMouseButton = 0x00400; const int32 kEventFlagMiddleMouseButton = 0x00800; const int32 kEventFlagRightMouseButton = 0x01000; const int32 kEventFlagBackMouseButton = 0x02000; const int32 kEventFlagForwardMouseButton = 0x04000; const int32 kMouseEventFlagIsDoubleClick = 0x08000; const int32 kMouseEventFlagIsTripleClick = 0x10000; const int32 kMouseEventFlagIsNonClient = 0x20000; // TODO(erg): Move accessibility flags and maybe synthetic touch events here. enum PointerKind { MOUSE, PEN, TOUCH, ERASER, }; enum WheelMode { PIXEL, LINE, PAGE, SCALING, };