CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

evdefs.h

Go to the documentation of this file.
00001 /*
00002     Event system related interfaces
00003     Written by Andrew Zabolotny <bit@eltech.ru>
00004 
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation; either version 2 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program; if not, write to the Free Software
00017     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00018 */
00019 
00020 /*
00021                                 *WARNING*
00022     This file must contain only plain-C code.  Do _not_ insert C++ code.
00023     This file is imported by non-C++ system driver implementations.
00024 
00025 */
00026 
00035 #ifndef __CS_IUTIL_EVDEFS_H__
00036 #define __CS_IUTIL_EVDEFS_H__
00037 
00039 // take care not to define more than 32 event types
00040 enum
00041 {
00043   csevNothing = 0,
00045   csevKeyDown,                  
00047   csevKeyUp,                    
00049   csevMouseMove,                
00051   csevMouseDown,                
00053   csevMouseUp,                  
00055   csevMouseClick,               
00057   csevMouseDoubleClick, 
00059   csevJoystickMove,             
00061   csevJoystickDown,             
00063   csevJoystickUp,               
00065   csevCommand,                  
00067   csevBroadcast,                
00069   csevNetwork,          
00071   csevMouseEnter,               
00073   csevMouseExit,                
00075   csevLostFocus,        
00077   csevGainFocus,        
00082   csevGroupOff,         
00084   csevFrameStart        
00085 };
00086 
00101 #define CSMASK_Nothing          (1 << csevNothing)
00102 
00107 #define CSMASK_FrameProcess     CSMASK_Nothing
00108 
00109 #define CSMASK_KeyDown          (1 << csevKeyDown)
00110 
00111 #define CSMASK_KeyUp            (1 << csevKeyUp)
00112 
00113 #define CSMASK_MouseMove        (1 << csevMouseMove)
00114 
00115 #define CSMASK_MouseDown        (1 << csevMouseDown)
00116 
00117 #define CSMASK_MouseUp          (1 << csevMouseUp)
00118 
00119 #define CSMASK_MouseClick       (1 << csevMouseClick)
00120 
00121 #define CSMASK_MouseDoubleClick (1 << csevMouseDoubleClick)
00122 
00123 #define CSMASK_JoystickMove     (1 << csevJoystickMove)
00124 
00125 #define CSMASK_JoystickDown     (1 << csevJoystickDown)
00126 
00127 #define CSMASK_JoystickUp       (1 << csevJoystickUp)
00128 
00129 #define CSMASK_Command          (1 << csevCommand)
00130 
00131 #define CSMASK_Broadcast        (1 << csevBroadcast)
00132 
00133 #define CSMASK_Network          (1 << csevNetwork)
00134 
00136 #define CSMASK_Keyboard \
00137   (CSMASK_KeyDown | CSMASK_KeyUp)
00138 
00139 #define CSMASK_Mouse \
00140   (CSMASK_MouseMove | CSMASK_MouseDown | CSMASK_MouseUp | CSMASK_MouseClick | \
00141    CSMASK_MouseDoubleClick)
00142 
00143 #define CSMASK_Joystick \
00144   (CSMASK_JoystickMove | CSMASK_JoystickDown | CSMASK_JoystickUp)
00145 
00146 #define CSMASK_Input \
00147   (CSMASK_Keyboard | CSMASK_Mouse | CSMASK_Joystick)
00148 
00149 // Some handy macros
00151 #define CS_IS_KEYBOARD_EVENT(e) ((1 << (e).Type) & CSMASK_Keyboard)
00153 #define CS_IS_MOUSE_EVENT(e)    ((1 << (e).Type) & CSMASK_Mouse)
00155 #define CS_IS_JOYSTICK_EVENT(e) ((1 << (e).Type) & CSMASK_Joystick)
00157 #define CS_IS_INPUT_EVENT(e)    ((1 << (e).Type) & CSMASK_Input)
00159 #define CS_IS_NETWORK_EVENT(e)  ((1 << (e).Type) & CSMASK_Network)
00172 #define CSEF_BROADCAST          0x00000001
00173 
00181 
00182 #define CSMASK_SHIFT            0x00000001
00183 
00184 #define CSMASK_CTRL             0x00000002
00185 
00186 #define CSMASK_ALT              0x00000004
00187 
00188 #define CSMASK_ALLSHIFTS        (CSMASK_SHIFT | CSMASK_CTRL | CSMASK_ALT)
00189 
00190 #define CSMASK_FIRST            0x80000000
00191 
00198 
00199 #define CSKEY_ESC               27
00200 
00201 #define CSKEY_ENTER             '\n'
00202 
00203 #define CSKEY_TAB               '\t'
00204 
00205 #define CSKEY_BACKSPACE         '\b'
00206 
00207 #define CSKEY_SPACE             ' '
00208 
00209 #define CSKEY_UP                1000
00210 
00211 #define CSKEY_DOWN              1001
00212 
00213 #define CSKEY_LEFT              1002
00214 
00215 #define CSKEY_RIGHT             1003
00216 
00217 #define CSKEY_PGUP              1004
00218 
00219 #define CSKEY_PGDN              1005
00220 
00221 #define CSKEY_HOME              1006
00222 
00223 #define CSKEY_END               1007
00224 
00225 #define CSKEY_INS               1008
00226 
00227 #define CSKEY_DEL               1009
00228 
00229 #define CSKEY_CTRL              1010
00230 
00231 #define CSKEY_ALT               1011
00232 
00233 #define CSKEY_SHIFT             1012
00234 
00235 #define CSKEY_F1                1013
00236 
00237 #define CSKEY_F2                1014
00238 
00239 #define CSKEY_F3                1015
00240 
00241 #define CSKEY_F4                1016
00242 
00243 #define CSKEY_F5                1017
00244 
00245 #define CSKEY_F6                1018
00246 
00247 #define CSKEY_F7                1019
00248 
00249 #define CSKEY_F8                1020
00250 
00251 #define CSKEY_F9                1021
00252 
00253 #define CSKEY_F10               1022
00254 
00255 #define CSKEY_F11               1023
00256 
00257 #define CSKEY_F12               1024
00258 
00259 #define CSKEY_CENTER            1025
00260 
00261 #define CSKEY_PADPLUS           1026
00262 
00263 #define CSKEY_PADMINUS          1027
00264 
00265 #define CSKEY_PADMULT           1028
00266 
00267 #define CSKEY_PADDIV            1029
00268 
00270 #define CSKEY_FIRST             1000
00271 
00272 #define CSKEY_LAST              1029
00273 
00282 
00283 #define CSEVTYPE_Keyboard       0x00000001
00284 
00285 #define CSEVTYPE_Mouse          0x00000002
00286 
00287 #define CSEVTYPE_Joystick       0x00000004
00288 
00308 enum
00309 {
00314   cscmdNothing = 0,
00315 
00324   cscmdQuit,
00325 
00337   cscmdFocusChanged,
00338 
00343   cscmdSystemOpen,
00344 
00349   cscmdSystemClose,
00350 
00358   cscmdContextResize,
00359 
00369   cscmdContextClose,
00370 
00381   cscmdCommandLineHelp,
00382 
00388   cscmdPreProcess,
00389 
00394   cscmdProcess,
00395 
00401   cscmdPostProcess,
00402 
00408   cscmdFinalProcess,
00409 
00414   cscmdCanvasHidden,
00415 
00420   cscmdCanvasExposed
00421 };
00422 
00425 #endif // __CS_IUTIL_EVDEFS_H__

Generated for Crystal Space by doxygen 1.2.14