49582f9d |
1 | // Copyright (c) 2016-2019 OPEN CASCADE SAS |
2 | // |
3 | // This file is part of Open CASCADE Technology software library. |
4 | // |
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. |
10 | // |
11 | // Alternatively, this file may be used under the terms of Open CASCADE |
12 | // commercial license or contractual agreement. |
13 | |
14 | #ifndef _Aspect_VKeyFlags_HeaderFile |
15 | #define _Aspect_VKeyFlags_HeaderFile |
16 | |
17 | //! Key modifier, for combining with general key from Aspect_VKey. |
18 | typedef unsigned int Aspect_VKeyFlags; |
19 | |
20 | //! Key modifier, for combining with general key from Aspect_VKey. |
21 | enum |
22 | { |
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 |
30 | |
31 | Aspect_VKeyFlags_ALL = Aspect_VKeyFlags_SHIFT | Aspect_VKeyFlags_CTRL | Aspect_VKeyFlags_ALT | Aspect_VKeyFlags_MENU | Aspect_VKeyFlags_META |
32 | }; |
33 | |
34 | //! Mouse buttons, for combining with Aspect_VKey and Aspect_VKeyFlags. |
35 | typedef unsigned int Aspect_VKeyMouse; |
36 | |
37 | //! Mouse button bitmask |
38 | enum |
39 | { |
40 | Aspect_VKeyMouse_NONE = 0, //!< no buttons |
41 | |
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 |
45 | |
46 | Aspect_VKeyMouse_MainButtons = Aspect_VKeyMouse_LeftButton | Aspect_VKeyMouse_MiddleButton | Aspect_VKeyMouse_RightButton |
47 | }; |
48 | |
49 | #endif // _Aspect_VKeyFlags_HeaderFile |