Cleanup: remove redundant doxygen \file argument
[blender.git] / intern / ghost / intern / GHOST_ModifierKeys.cpp
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19
20 /** \file \ingroup GHOST
21  */
22
23
24 /**
25  * Copyright (C) 2001 NaN Technologies B.V.
26  */
27
28 #include "GHOST_ModifierKeys.h"
29
30
31 GHOST_ModifierKeys::GHOST_ModifierKeys()
32 {
33         clear();
34 }
35
36 GHOST_ModifierKeys::~GHOST_ModifierKeys() {}
37
38
39 GHOST_TKey GHOST_ModifierKeys::getModifierKeyCode(GHOST_TModifierKeyMask mask)
40 {
41         GHOST_TKey key;
42         switch (mask) {
43                 case GHOST_kModifierKeyLeftShift:       key = GHOST_kKeyLeftShift;      break;
44                 case GHOST_kModifierKeyRightShift:      key = GHOST_kKeyRightShift;     break;
45                 case GHOST_kModifierKeyLeftAlt:         key = GHOST_kKeyLeftAlt;        break;
46                 case GHOST_kModifierKeyRightAlt:        key = GHOST_kKeyRightAlt;       break;
47                 case GHOST_kModifierKeyLeftControl:     key = GHOST_kKeyLeftControl;    break;
48                 case GHOST_kModifierKeyRightControl:    key = GHOST_kKeyRightControl;   break;
49                 case GHOST_kModifierKeyOS:              key = GHOST_kKeyOS;             break;
50                 default:
51                         // Should not happen
52                         key = GHOST_kKeyUnknown;
53                         break;
54         }
55         return key;
56 }
57
58
59 bool GHOST_ModifierKeys::get(GHOST_TModifierKeyMask mask) const
60 {
61         switch (mask) {
62                 case GHOST_kModifierKeyLeftShift:
63                         return m_LeftShift;
64                 case GHOST_kModifierKeyRightShift:
65                         return m_RightShift;
66                 case GHOST_kModifierKeyLeftAlt:
67                         return m_LeftAlt;
68                 case GHOST_kModifierKeyRightAlt:
69                         return m_RightAlt;
70                 case GHOST_kModifierKeyLeftControl:
71                         return m_LeftControl;
72                 case GHOST_kModifierKeyRightControl:
73                         return m_RightControl;
74                 case GHOST_kModifierKeyOS:
75                         return m_OS;
76                 default:
77                         return false;
78         }
79 }
80
81
82 void GHOST_ModifierKeys::set(GHOST_TModifierKeyMask mask, bool down)
83 {
84         switch (mask) {
85                 case GHOST_kModifierKeyLeftShift:
86                         m_LeftShift = down; break;
87                 case GHOST_kModifierKeyRightShift:
88                         m_RightShift = down; break;
89                 case GHOST_kModifierKeyLeftAlt:
90                         m_LeftAlt = down; break;
91                 case GHOST_kModifierKeyRightAlt:
92                         m_RightAlt = down; break;
93                 case GHOST_kModifierKeyLeftControl:
94                         m_LeftControl = down; break;
95                 case GHOST_kModifierKeyRightControl:
96                         m_RightControl = down; break;
97                 case GHOST_kModifierKeyOS:
98                         m_OS = down; break;
99                 default:
100                         break;
101         }
102 }
103
104
105 void GHOST_ModifierKeys::clear()
106 {
107         m_LeftShift = false;
108         m_RightShift = false;
109         m_LeftAlt = false;
110         m_RightAlt = false;
111         m_LeftControl = false;
112         m_RightControl = false;
113         m_OS = false;
114 }
115
116
117 bool GHOST_ModifierKeys::equals(const GHOST_ModifierKeys& keys) const
118 {
119         return (m_LeftShift == keys.m_LeftShift) &&
120                (m_RightShift == keys.m_RightShift) &&
121                (m_LeftAlt == keys.m_LeftAlt) &&
122                (m_RightAlt == keys.m_RightAlt) &&
123                (m_LeftControl == keys.m_LeftControl) &&
124                (m_RightControl == keys.m_RightControl) &&
125                (m_OS == keys.m_OS);
126 }