1 // Copyright (c) 2016-2019 OPEN CASCADE SAS
3 // This file is part of Open CASCADE Technology software library.
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
14 #ifndef _Aspect_VKeyFlags_HeaderFile
15 #define _Aspect_VKeyFlags_HeaderFile
17 //! Key modifier, for combining with general key from Aspect_VKey.
18 typedef unsigned int Aspect_VKeyFlags;
20 //! Key modifier, for combining with general key from Aspect_VKey.
23 Aspect_VKeyFlags_NONE = 0,
24 // reserve first 8 bits to combine value with Aspect_VKey
25 Aspect_VKeyFlags_SHIFT = 1 << 8, //!< Aspect_VKey_Shift
26 Aspect_VKeyFlags_CTRL = 1 << 9, //!< Aspect_VKey_Control
27 Aspect_VKeyFlags_ALT = 1 << 10, //!< Aspect_VKey_Alt
28 Aspect_VKeyFlags_MENU = 1 << 11, //!< Aspect_VKey_Menu
29 Aspect_VKeyFlags_META = 1 << 12, //!< Aspect_VKey_Meta
31 Aspect_VKeyFlags_ALL = Aspect_VKeyFlags_SHIFT | Aspect_VKeyFlags_CTRL | Aspect_VKeyFlags_ALT | Aspect_VKeyFlags_MENU | Aspect_VKeyFlags_META
34 //! Mouse buttons, for combining with Aspect_VKey and Aspect_VKeyFlags.
35 typedef unsigned int Aspect_VKeyMouse;
37 //! Mouse button bitmask
40 Aspect_VKeyMouse_NONE = 0, //!< no buttons
42 Aspect_VKeyMouse_LeftButton = 1 << 13, //!< mouse left button
43 Aspect_VKeyMouse_MiddleButton = 1 << 14, //!< mouse middle button (scroll)
44 Aspect_VKeyMouse_RightButton = 1 << 15, //!< mouse right button
46 Aspect_VKeyMouse_MainButtons = Aspect_VKeyMouse_LeftButton | Aspect_VKeyMouse_MiddleButton | Aspect_VKeyMouse_RightButton
49 #endif // _Aspect_VKeyFlags_HeaderFile