2.5
[blender.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                 /* defaults from ghost */
55 #define WHEELUPMOUSE    0x00a   
56 #define WHEELDOWNMOUSE  0x00b
57                 /* mapped with userdef */
58 #define WHEELINMOUSE    0x00c
59 #define WHEELOUTMOUSE   0x00d
60
61
62 /* SYSTEM : 0x01x */
63 #define KEYBD                   0x0100  /* keyboard */
64 #define RAWKEYBD                0x0101  /* raw keyboard for keyboard manager */
65 #define REDRAW                  0x0102  /* used by port manager to signal redraws */
66 #define INPUTCHANGE             0x0103  /* input connected or disconnected */
67 #define QFULL                   0x0104  /* queue was filled */
68 #define WINFREEZE               0x0105  /* user wants process in this win to shut up */
69 #define WINTHAW                 0x0106  /* user wants process in this win to go again */
70 #define WINCLOSE                0x0107  /* window close */
71 #define WINQUIT                 0x0108  /* signal from user that app is to go away */
72 #define Q_FIRSTTIME             0x0109  /* on startup */
73
74 #define TIMER                   0x0110  /* timer event, passed on to all queues */
75 #define TIMER0                  0x0111  /* timer event, slot for internal use */
76 #define TIMER1                  0x0112  /* timer event, slot for internal use */
77 #define TIMER2                  0x0113  /* timer event, slot for internal use */
78
79 /* standard keyboard */
80
81 #define AKEY            'a'
82 #define BKEY            'b'
83 #define CKEY            'c'
84 #define DKEY            'd'
85 #define EKEY            'e'
86 #define FKEY            'f'
87 #define GKEY            'g'
88 #define HKEY            'h'
89 #define IKEY            'i'
90 #define JKEY            'j'
91 #define KKEY            'k'
92 #define LKEY            'l'
93 #define MKEY            'm'
94 #define NKEY            'n'
95 #define OKEY            'o'
96 #define PKEY            'p'
97 #define QKEY            'q'
98 #define RKEY            'r'
99 #define SKEY            's'
100 #define TKEY            't'
101 #define UKEY            'u'
102 #define VKEY            'v'
103 #define WKEY            'w'
104 #define XKEY            'x'
105 #define YKEY            'y'
106 #define ZKEY            'z'
107
108 #define ZEROKEY         '0'
109 #define ONEKEY          '1'
110 #define TWOKEY          '2'
111 #define THREEKEY        '3'
112 #define FOURKEY         '4'
113 #define FIVEKEY         '5'
114 #define SIXKEY          '6'
115 #define SEVENKEY        '7'
116 #define EIGHTKEY        '8'
117 #define NINEKEY         '9'
118
119 #define CAPSLOCKKEY             211
120
121 #define LEFTCTRLKEY             212
122 #define LEFTALTKEY              213
123 #define RIGHTALTKEY     214
124 #define RIGHTCTRLKEY    215
125 #define RIGHTSHIFTKEY   216
126 #define LEFTSHIFTKEY    217
127
128 #define ESCKEY                  218
129 #define TABKEY                  219
130 #define RETKEY                  220
131 #define SPACEKEY                221
132 #define LINEFEEDKEY             222
133 #define BACKSPACEKEY    223
134 #define DELKEY                  224
135 #define SEMICOLONKEY    225
136 #define PERIODKEY               226
137 #define COMMAKEY                227
138 #define QUOTEKEY                228
139 #define ACCENTGRAVEKEY  229
140 #define MINUSKEY                230
141 #define SLASHKEY                232
142 #define BACKSLASHKEY    233
143 #define EQUALKEY                234
144 #define LEFTBRACKETKEY  235
145 #define RIGHTBRACKETKEY 236
146
147 #define LEFTARROWKEY    137
148 #define DOWNARROWKEY    138
149 #define RIGHTARROWKEY   139
150 #define UPARROWKEY              140
151
152 #define PAD0                    150
153 #define PAD1                    151
154 #define PAD2                    152
155 #define PAD3                    153
156 #define PAD4                    154
157 #define PAD5                    155
158 #define PAD6                    156
159 #define PAD7                    157
160 #define PAD8                    158
161 #define PAD9                    159
162
163
164 #define PADPERIOD               199
165 #define PADSLASHKEY     161
166 #define PADASTERKEY     160
167
168
169 #define PADMINUS                162
170 #define PADENTER                163
171 #define PADPLUSKEY              164
172
173
174 #define F1KEY           300
175 #define F2KEY           301
176 #define F3KEY           302
177 #define F4KEY           303
178 #define F5KEY           304
179 #define F6KEY           305
180 #define F7KEY           306
181 #define F8KEY           307
182 #define F9KEY           308
183 #define F10KEY          309
184 #define F11KEY          310
185 #define F12KEY          311
186
187 #define PAUSEKEY        165
188 #define INSERTKEY       166
189 #define HOMEKEY         167
190 #define PAGEUPKEY       168
191 #define PAGEDOWNKEY     169
192 #define ENDKEY          170
193
194 #define UNKNOWNKEY      171
195 #define COMMANDKEY      172
196 #define GRLESSKEY       173
197
198 /* **************** BLENDER QUEUE EVENTS ********************* */
199
200 #define CHANGED                         0x4000
201 #define DRAWEDGES                       0x4001
202 #define AFTERQUEUE                      0x4002
203 #define BACKBUFDRAW                     0x4003
204 #define EXECUTE                         0x4004
205 #define IGNORE_REDRAW           0x4005
206 #define LOAD_FILE                       0x4006
207 #define RESHAPE                         0x4007
208 #define UI_BUT_EVENT            0x4008
209 #define AUTOSAVE_FILE           0x4009
210 #define UNDOPUSH                        0x400A
211
212 /* REDRAWVIEW3D has to be the first one (lowest number) for buttons! */
213 #define REDRAWVIEW3D            0x4010
214 #define REDRAWVIEWCAM           0x4011
215 #define REDRAWVIEW3D_Z          0x4012
216
217 #define REDRAWALL                       0x4013
218 #define REDRAWHEADERS           0x4014
219
220 #define REDRAWBUTSHEAD          0x4015
221 #define REDRAWBUTSALL           0x4016
222
223 #define REDRAWBUTSSCENE         0x4017
224 #define REDRAWBUTSOBJECT        0x4018
225 #define REDRAWBUTSEDIT          0x4019
226 #define REDRAWBUTSSCRIPT        0x401A
227 #define REDRAWBUTSLOGIC         0x401B
228 #define REDRAWBUTSSHADING       0x401C
229 #define REDRAWBUTSGAME          0x401D
230 #define REDRAWBUTSEFFECTS       0x401D
231
232 #define REDRAWINFO                      0x4021
233 #define RENDERPREVIEW           0x4022
234 #define REDRAWIPO                       0x4023
235 #define REDRAWDATASELECT        0x4024
236 #define REDRAWSEQ                       0x4025
237 #define REDRAWIMAGE                     0x4026
238 #define REDRAWOOPS                      0x4027
239 #define REDRAWIMASEL        0x4028
240 #define AFTERIMASELIMA      0x4029
241 #define AFTERIMASELGET      0x402A
242 #define AFTERIMAWRITE       0x402B
243 #define IMALEFTMOUSE            0x402C
244 #define AFTERPIBREAD        0x402D
245 #define REDRAWTEXT              0x402E
246 #define REDRAWSOUND                     0x402F
247 #define REDRAWACTION            0x4030
248 #define REDRAWNLA                       0x4031
249 #define REDRAWSCRIPT            0x4032
250 #define REDRAWTIME                      0x4033
251 #define REDRAWBUTSCONSTRAINT    0x4034
252 #define ONLOAD_SCRIPT           0x4035
253 #define SCREEN_HANDLER          0x4036
254 #define REDRAWANIM                      0x4037
255 #define REDRAWNODE                      0x4038
256 #define RECALC_COMPOSITE        0x4039
257 #define REDRAWMARKER            0x4040 /* all views that display markers */
258 #define REDRAWVIEW3D_IMAGE      0x4041
259
260 /* **************** BLENDER GESTURE EVENTS ********************* */
261
262 #define EVT_ACTIONZONE  0x5001
263                 /* tweak events, for L M R mousebuttons */
264 #define EVT_TWEAK_L             0x5002
265 #define EVT_TWEAK_M             0x5003
266 #define EVT_TWEAK_R             0x5004
267                 /* tweak events for action or select mousebutton */
268 #define EVT_TWEAK_A             0x5005
269 #define EVT_TWEAK_S             0x5006
270
271
272
273 #define EVT_GESTURE             0x5010
274
275 /* value of tweaks and line gestures, note, KM_ANY (-1) works for this case too */
276 #define EVT_GESTURE_N           1
277 #define EVT_GESTURE_NE          2
278 #define EVT_GESTURE_E           3
279 #define EVT_GESTURE_SE          4
280 #define EVT_GESTURE_S           5
281 #define EVT_GESTURE_SW          6
282 #define EVT_GESTURE_W           7
283 #define EVT_GESTURE_NW          8
284 /* value of corner gestures */
285 #define EVT_GESTURE_N_E         9
286 #define EVT_GESTURE_N_W         10
287 #define EVT_GESTURE_E_N         11
288 #define EVT_GESTURE_E_S         12
289 #define EVT_GESTURE_S_E         13
290 #define EVT_GESTURE_S_W         14
291 #define EVT_GESTURE_W_S         15
292 #define EVT_GESTURE_W_N         16
293
294 #endif  /* WM_EVENT_TYPES_H */
295