2.5 / SCons
[blender-staging.git] / source / blender / windowmanager / wm_event_types.h
1 /*
2  * $Id: wm_event_types.h
3  *
4  * ***** BEGIN GPL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. 
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19  *
20  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
21  * All rights reserved.
22  *
23  * Contributor(s): Blender Foundation
24  *
25  * ***** END GPL LICENSE BLOCK *****
26  */
27
28 /*
29  *  These define have its origin at sgi, where all device defines were written down in device.h.
30  *  Blender copied the conventions quite some, and expanded it with internal new defines (ton)
31  *
32  */ 
33
34
35 #ifndef WM_EVENT_TYPES_H
36 #define WM_EVENT_TYPES_H
37
38 /* customdata type */
39 #define EVT_DATA_TABLET         1
40 #define EVT_DATA_GESTURE        2
41 #define EVT_DATA_TIMER          3
42
43 #define MOUSEX          0x004   
44 #define MOUSEY          0x005   
45
46 /* MOUSE : 0x00x */
47 #define LEFTMOUSE               0x001   
48 #define MIDDLEMOUSE             0x002   
49 #define RIGHTMOUSE              0x003   
50 #define MOUSEMOVE               0x004   
51                 /* only use if you want user option switch possible */
52 #define ACTIONMOUSE             0x005
53 #define SELECTMOUSE             0x006
54
55 #define WHEELUPMOUSE    0x00a   
56 #define WHEELDOWNMOUSE  0x00b   
57
58
59 /* SYSTEM : 0x01x */
60 #define KEYBD                   0x0100  /* keyboard */
61 #define RAWKEYBD                0x0101  /* raw keyboard for keyboard manager */
62 #define REDRAW                  0x0102  /* used by port manager to signal redraws */
63 #define INPUTCHANGE             0x0103  /* input connected or disconnected */
64 #define QFULL                   0x0104  /* queue was filled */
65 #define WINFREEZE               0x0105  /* user wants process in this win to shut up */
66 #define WINTHAW                 0x0106  /* user wants process in this win to go again */
67 #define WINCLOSE                0x0107  /* window close */
68 #define WINQUIT                 0x0108  /* signal from user that app is to go away */
69 #define Q_FIRSTTIME             0x0109  /* on startup */
70
71 #define TIMER                   0x0110  /* timer event, passed on to all queues */
72 #define TIMER0                  0x0111  /* timer event, slot for internal use */
73 #define TIMER1                  0x0112  /* timer event, slot for internal use */
74 #define TIMER2                  0x0113  /* timer event, slot for internal use */
75
76 /* standard keyboard */
77
78 #define AKEY            'a'
79 #define BKEY            'b'
80 #define CKEY            'c'
81 #define DKEY            'd'
82 #define EKEY            'e'
83 #define FKEY            'f'
84 #define GKEY            'g'
85 #define HKEY            'h'
86 #define IKEY            'i'
87 #define JKEY            'j'
88 #define KKEY            'k'
89 #define LKEY            'l'
90 #define MKEY            'm'
91 #define NKEY            'n'
92 #define OKEY            'o'
93 #define PKEY            'p'
94 #define QKEY            'q'
95 #define RKEY            'r'
96 #define SKEY            's'
97 #define TKEY            't'
98 #define UKEY            'u'
99 #define VKEY            'v'
100 #define WKEY            'w'
101 #define XKEY            'x'
102 #define YKEY            'y'
103 #define ZKEY            'z'
104
105 #define ZEROKEY         '0'
106 #define ONEKEY          '1'
107 #define TWOKEY          '2'
108 #define THREEKEY        '3'
109 #define FOURKEY         '4'
110 #define FIVEKEY         '5'
111 #define SIXKEY          '6'
112 #define SEVENKEY        '7'
113 #define EIGHTKEY        '8'
114 #define NINEKEY         '9'
115
116 #define CAPSLOCKKEY             211
117
118 #define LEFTCTRLKEY             212
119 #define LEFTALTKEY              213
120 #define RIGHTALTKEY     214
121 #define RIGHTCTRLKEY    215
122 #define RIGHTSHIFTKEY   216
123 #define LEFTSHIFTKEY    217
124
125 #define ESCKEY                  218
126 #define TABKEY                  219
127 #define RETKEY                  220
128 #define SPACEKEY                221
129 #define LINEFEEDKEY             222
130 #define BACKSPACEKEY    223
131 #define DELKEY                  224
132 #define SEMICOLONKEY    225
133 #define PERIODKEY               226
134 #define COMMAKEY                227
135 #define QUOTEKEY                228
136 #define ACCENTGRAVEKEY  229
137 #define MINUSKEY                230
138 #define SLASHKEY                232
139 #define BACKSLASHKEY    233
140 #define EQUALKEY                234
141 #define LEFTBRACKETKEY  235
142 #define RIGHTBRACKETKEY 236
143
144 #define LEFTARROWKEY    137
145 #define DOWNARROWKEY    138
146 #define RIGHTARROWKEY   139
147 #define UPARROWKEY              140
148
149 #define PAD0                    150
150 #define PAD1                    151
151 #define PAD2                    152
152 #define PAD3                    153
153 #define PAD4                    154
154 #define PAD5                    155
155 #define PAD6                    156
156 #define PAD7                    157
157 #define PAD8                    158
158 #define PAD9                    159
159
160
161 #define PADPERIOD               199
162 #define PADSLASHKEY     161
163 #define PADASTERKEY     160
164
165
166 #define PADMINUS                162
167 #define PADENTER                163
168 #define PADPLUSKEY              164
169
170
171 #define F1KEY           300
172 #define F2KEY           301
173 #define F3KEY           302
174 #define F4KEY           303
175 #define F5KEY           304
176 #define F6KEY           305
177 #define F7KEY           306
178 #define F8KEY           307
179 #define F9KEY           308
180 #define F10KEY          309
181 #define F11KEY          310
182 #define F12KEY          311
183
184 #define PAUSEKEY        165
185 #define INSERTKEY       166
186 #define HOMEKEY         167
187 #define PAGEUPKEY       168
188 #define PAGEDOWNKEY     169
189 #define ENDKEY          170
190
191 #define UNKNOWNKEY      171
192 #define COMMANDKEY      172
193 #define GRLESSKEY       173
194
195 /* **************** BLENDER QUEUE EVENTS ********************* */
196
197 #define CHANGED                         0x4000
198 #define DRAWEDGES                       0x4001
199 #define AFTERQUEUE                      0x4002
200 #define BACKBUFDRAW                     0x4003
201 #define EXECUTE                         0x4004
202 #define IGNORE_REDRAW           0x4005
203 #define LOAD_FILE                       0x4006
204 #define RESHAPE                         0x4007
205 #define UI_BUT_EVENT            0x4008
206 #define AUTOSAVE_FILE           0x4009
207 #define UNDOPUSH                        0x400A
208
209 /* REDRAWVIEW3D has to be the first one (lowest number) for buttons! */
210 #define REDRAWVIEW3D            0x4010
211 #define REDRAWVIEWCAM           0x4011
212 #define REDRAWVIEW3D_Z          0x4012
213
214 #define REDRAWALL                       0x4013
215 #define REDRAWHEADERS           0x4014
216
217 #define REDRAWBUTSHEAD          0x4015
218 #define REDRAWBUTSALL           0x4016
219
220 #define REDRAWBUTSSCENE         0x4017
221 #define REDRAWBUTSOBJECT        0x4018
222 #define REDRAWBUTSEDIT          0x4019
223 #define REDRAWBUTSSCRIPT        0x401A
224 #define REDRAWBUTSLOGIC         0x401B
225 #define REDRAWBUTSSHADING       0x401C
226 #define REDRAWBUTSGAME          0x401D
227 #define REDRAWBUTSEFFECTS       0x401D
228
229 #define REDRAWINFO                      0x4021
230 #define RENDERPREVIEW           0x4022
231 #define REDRAWIPO                       0x4023
232 #define REDRAWDATASELECT        0x4024
233 #define REDRAWSEQ                       0x4025
234 #define REDRAWIMAGE                     0x4026
235 #define REDRAWOOPS                      0x4027
236 #define REDRAWIMASEL        0x4028
237 #define AFTERIMASELIMA      0x4029
238 #define AFTERIMASELGET      0x402A
239 #define AFTERIMAWRITE       0x402B
240 #define IMALEFTMOUSE            0x402C
241 #define AFTERPIBREAD        0x402D
242 #define REDRAWTEXT              0x402E
243 #define REDRAWSOUND                     0x402F
244 #define REDRAWACTION            0x4030
245 #define REDRAWNLA                       0x4031
246 #define REDRAWSCRIPT            0x4032
247 #define REDRAWTIME                      0x4033
248 #define REDRAWBUTSCONSTRAINT    0x4034
249 #define ONLOAD_SCRIPT           0x4035
250 #define SCREEN_HANDLER          0x4036
251 #define REDRAWANIM                      0x4037
252 #define REDRAWNODE                      0x4038
253 #define RECALC_COMPOSITE        0x4039
254 #define REDRAWMARKER            0x4040 /* all views that display markers */
255 #define REDRAWVIEW3D_IMAGE      0x4041
256
257 /* **************** BLENDER GESTURE EVENTS ********************* */
258
259 #define EVT_ACTIONZONE  0x5001
260 /* tweak events, for L M R mousebuttons */
261 #define EVT_TWEAK_L             0x5002
262 #define EVT_TWEAK_M             0x5003
263 #define EVT_TWEAK_R             0x5004
264
265 #define EVT_GESTURE             0x5005
266
267 /* value of tweaks and line gestures, note, KM_ANY (-1) works for this case too */
268 #define EVT_GESTURE_N           1
269 #define EVT_GESTURE_NE          2
270 #define EVT_GESTURE_E           3
271 #define EVT_GESTURE_SE          4
272 #define EVT_GESTURE_S           5
273 #define EVT_GESTURE_SW          6
274 #define EVT_GESTURE_W           7
275 #define EVT_GESTURE_NW          8
276 /* value of corner gestures */
277 #define EVT_GESTURE_N_E         9
278 #define EVT_GESTURE_N_W         10
279 #define EVT_GESTURE_E_N         11
280 #define EVT_GESTURE_E_S         12
281 #define EVT_GESTURE_S_E         13
282 #define EVT_GESTURE_S_W         14
283 #define EVT_GESTURE_W_S         15
284 #define EVT_GESTURE_W_N         16
285
286 #endif  /* WM_EVENT_TYPES_H */
287