Blender  V3.3
GHOST_ModifierKeys.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2001-2002 NaN Holding BV. All rights reserved. */
3 
12 #include "GHOST_ModifierKeys.h"
13 
15 {
16  clear();
17 }
18 
20 {
21 }
22 
24 {
25  GHOST_TKey key;
26  switch (mask) {
28  key = GHOST_kKeyLeftShift;
29  break;
32  break;
34  key = GHOST_kKeyLeftAlt;
35  break;
37  key = GHOST_kKeyRightAlt;
38  break;
41  break;
44  break;
46  key = GHOST_kKeyOS;
47  break;
48  default:
49  // Should not happen
50  key = GHOST_kKeyUnknown;
51  break;
52  }
53  return key;
54 }
55 
57 {
58  switch (mask) {
60  return m_LeftShift;
62  return m_RightShift;
64  return m_LeftAlt;
66  return m_RightAlt;
68  return m_LeftControl;
70  return m_RightControl;
72  return m_OS;
73  default:
74  return false;
75  }
76 }
77 
79 {
80  switch (mask) {
82  m_LeftShift = down;
83  break;
85  m_RightShift = down;
86  break;
88  m_LeftAlt = down;
89  break;
91  m_RightAlt = down;
92  break;
94  m_LeftControl = down;
95  break;
97  m_RightControl = down;
98  break;
100  m_OS = down;
101  break;
102  default:
103  break;
104  }
105 }
106 
108 {
109  m_LeftShift = false;
110  m_RightShift = false;
111  m_LeftAlt = false;
112  m_RightAlt = false;
113  m_LeftControl = false;
114  m_RightControl = false;
115  m_OS = false;
116 }
117 
119 {
120  return (m_LeftShift == keys.m_LeftShift) && (m_RightShift == keys.m_RightShift) &&
121  (m_LeftAlt == keys.m_LeftAlt) && (m_RightAlt == keys.m_RightAlt) &&
122  (m_LeftControl == keys.m_LeftControl) && (m_RightControl == keys.m_RightControl) &&
123  (m_OS == keys.m_OS);
124 }
GHOST_TKey
Definition: GHOST_Types.h:259
@ GHOST_kKeyLeftAlt
Definition: GHOST_Types.h:328
@ GHOST_kKeyRightShift
Definition: GHOST_Types.h:325
@ GHOST_kKeyLeftControl
Definition: GHOST_Types.h:326
@ GHOST_kKeyOS
Definition: GHOST_Types.h:330
@ GHOST_kKeyRightAlt
Definition: GHOST_Types.h:329
@ GHOST_kKeyRightControl
Definition: GHOST_Types.h:327
@ GHOST_kKeyUnknown
Definition: GHOST_Types.h:260
@ GHOST_kKeyLeftShift
Definition: GHOST_Types.h:324
GHOST_TModifierKey
Definition: GHOST_Types.h:118
@ GHOST_kModifierKeyRightControl
Definition: GHOST_Types.h:124
@ GHOST_kModifierKeyLeftControl
Definition: GHOST_Types.h:123
@ GHOST_kModifierKeyRightAlt
Definition: GHOST_Types.h:122
@ GHOST_kModifierKeyOS
Definition: GHOST_Types.h:125
@ GHOST_kModifierKeyRightShift
Definition: GHOST_Types.h:120
@ GHOST_kModifierKeyLeftAlt
Definition: GHOST_Types.h:121
@ GHOST_kModifierKeyLeftShift
Definition: GHOST_Types.h:119
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
Definition: math_float4.h:513
void set(GHOST_TModifierKey mask, bool down)
bool get(GHOST_TModifierKey mask) const
bool equals(const GHOST_ModifierKeys &keys) const
static GHOST_TKey getModifierKeyCode(GHOST_TModifierKey mask)