0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39
[occt.git] / src / Aspect / Aspect_VKeyFlags.hxx
CommitLineData
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.
18typedef unsigned int Aspect_VKeyFlags;
19
20//! Key modifier, for combining with general key from Aspect_VKey.
21enum
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.
35typedef unsigned int Aspect_VKeyMouse;
36
37//! Mouse button bitmask
38enum
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