![[]](/images/special/trans.gif)
LibN2L-4 Library Code ReferenceClassesCompounds Files Members Method Index Full Reference events/types.hGo to the documentation of this file.00001 /************************************************************************ 00002 Nova-2 Library (libN2L, or simply n2l) Game development C++ Library 00003 Copyright (C) 2003 Aaron Cameron 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library 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 GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 A copy of the GNU Lesser General Public License has been provided with 00020 this library in the file 'COPYING'. 00021 00022 Contact information for the author of this library has been provided 00023 with this library in the file 'AUTHOR'. 00024 ************************************************************************/ 00025 #ifndef _n2l4_event_types_h 00026 #define _n2l4_event_types_h 00027 00028 #include "n2l/n2l.h" 00029 #include "n2l/geometry.h" 00030 00031 #include "SDL_mouse.h" 00032 #include "SDL_events.h" 00033 #include "SDL_keyboard.h" 00034 #include "SDL_keysym.h" 00035 00036 // #include <assert.h> 00037 00038 namespace n2l 00039 { 00040 typedef tVector2s tSysMousePos; 00041 typedef tVector2f tMousePos; 00042 00045 typedef enum 00046 { 00047 EventType_None, 00048 EventType_Active, 00049 EventType_Key, 00050 EventType_MouseMotion, 00051 EventType_MouseButton, 00052 EventType_JoystickAxis, 00053 EventType_JoystickTrackball, 00054 EventType_JoystickHat, 00055 EventType_JoystickButton, 00056 EventType_Quit, 00057 EventType_VideoResize, 00058 EventType_VideoExpose, 00059 00060 EventType_Custom1, 00061 EventType_Custom2, 00062 EventType_Custom3, 00063 EventType_Custom4, 00064 EventType_Custom5, 00065 EventType_Custom6, 00066 EventType_Custom7, 00067 EventType_Custom8, 00068 EventType_Custom9, 00069 00070 EventType_NumEventTypes 00071 } tEventType; 00072 00073 00074 typedef enum 00075 { 00076 JoystickHat_Centered = SDL_HAT_CENTERED, 00077 JoystickHat_Up = SDL_HAT_UP, 00078 JoystickHat_Right = SDL_HAT_RIGHT, 00079 JoystickHat_Down = SDL_HAT_DOWN, 00080 JoystickHat_Left = SDL_HAT_LEFT, 00081 00082 /* Combination Masks **/ 00083 JoystickHat_RightUp = SDL_HAT_RIGHTUP, 00084 JoystickHat_RightDown = SDL_HAT_RIGHTDOWN, 00085 JoystickHat_LeftUp = SDL_HAT_LEFTUP, 00086 JoystickHat_LeftDown = SDL_HAT_LEFTDOWN 00087 } tJoystickHat; 00088 00089 typedef enum 00090 { 00091 MouseButton_Unknown = 0, 00092 MouseButton_Left = SDL_BUTTON_LEFT, 00093 MouseButton_Middle = SDL_BUTTON_MIDDLE, 00094 MouseButton_Right = SDL_BUTTON_RIGHT, 00095 MouseButton_Up = SDL_BUTTON_WHEELUP, 00096 MouseButton_Down = SDL_BUTTON_WHEELDOWN, 00097 00098 MouseButton_NumMouseButtons 00099 } tMouseButton; 00100 00108 typedef enum 00109 { 00110 MouseAxis_X = 0, 00111 MouseAxis_Y = 1, 00112 00113 MouseAxis_NumMouseAxis 00114 } tMouseAxis; 00115 00116 // This sucks, but to hide the SDL interface, we have 00117 // to redefine the key syms. I can't BELIEVE how badly 00118 // this sucks. But to not hide them would make a serious 00119 // mess of the N2L interface. 00120 // Note that this is effectively a renaming cut and paste 00121 // from SDL_keysym.h 00122 // I take absolutely ZERO credit for this information, 00123 // which is not to say that I don't trust it, it means I 00124 // don't deserve credit for it. 00125 00126 typedef enum { 00127 Key_Unknown = SDLK_UNKNOWN, 00128 00129 Key_Backspace = SDLK_BACKSPACE, 00130 Key_Tab = SDLK_TAB, 00131 Key_Clear = SDLK_CLEAR, 00132 Key_Return = SDLK_RETURN, 00133 Key_Pause = SDLK_PAUSE, 00134 Key_Escape = SDLK_ESCAPE, 00135 Key_Space = SDLK_SPACE, 00136 Key_Exclaim = SDLK_EXCLAIM, 00137 Key_QuotedBl = SDLK_QUOTEDBL, 00138 Key_Hash = SDLK_HASH, 00139 Key_Dollar = SDLK_DOLLAR, 00140 Key_Ampersand = SDLK_AMPERSAND, 00141 Key_Quote = SDLK_QUOTE, 00142 Key_LParen = SDLK_LEFTPAREN, 00143 Key_RParan = SDLK_RIGHTPAREN, 00144 Key_Asterisk = SDLK_ASTERISK, 00145 Key_Plus = SDLK_PLUS, 00146 Key_Comma = SDLK_COMMA, 00147 Key_Minus = SDLK_MINUS, 00148 Key_Period = SDLK_PERIOD, 00149 Key_Slash = SDLK_SLASH, 00150 Key_0 = SDLK_0, 00151 Key_1 = SDLK_1, 00152 Key_2 = SDLK_2, 00153 Key_3 = SDLK_3, 00154 Key_4 = SDLK_4, 00155 Key_5 = SDLK_5, 00156 Key_6 = SDLK_6, 00157 Key_7 = SDLK_7, 00158 Key_8 = SDLK_8, 00159 Key_9 = SDLK_9, 00160 Key_Colon = SDLK_COLON, 00161 Key_SemiColon = SDLK_SEMICOLON, 00162 Key_Less = SDLK_LESS, 00163 Key_Equals = SDLK_EQUALS, 00164 Key_Greater = SDLK_GREATER, 00165 Key_Question = SDLK_QUESTION, 00166 Key_At = SDLK_AT, 00167 00168 Key_LBracket = SDLK_LEFTBRACKET, 00169 Key_BackSlash = SDLK_BACKSLASH, 00170 Key_RBracket = SDLK_RIGHTBRACKET, 00171 Key_Caret = SDLK_CARET, 00172 Key_Underscore = SDLK_UNDERSCORE, 00173 Key_BackQuote = SDLK_BACKQUOTE, 00174 Key_A = SDLK_a, 00175 Key_B = SDLK_b, 00176 Key_C = SDLK_c, 00177 Key_D = SDLK_d, 00178 Key_E = SDLK_e, 00179 Key_F = SDLK_f, 00180 Key_G = SDLK_g, 00181 Key_H = SDLK_h, 00182 Key_I = SDLK_i, 00183 Key_J = SDLK_j, 00184 Key_K = SDLK_k, 00185 Key_L = SDLK_l, 00186 Key_M = SDLK_m, 00187 Key_N = SDLK_n, 00188 Key_O = SDLK_o, 00189 Key_P = SDLK_p, 00190 Key_Q = SDLK_q, 00191 Key_R = SDLK_r, 00192 Key_S = SDLK_s, 00193 Key_T = SDLK_t, 00194 Key_U = SDLK_u, 00195 Key_V = SDLK_v, 00196 Key_W = SDLK_w, 00197 Key_X = SDLK_x, 00198 Key_Y = SDLK_y, 00199 Key_Z = SDLK_z, 00200 Key_Delete = SDLK_DELETE, 00201 00202 Key_World_0 = SDLK_WORLD_0, 00203 Key_World_1 = SDLK_WORLD_1, 00204 Key_World_2 = SDLK_WORLD_2, 00205 Key_World_3 = SDLK_WORLD_3, 00206 Key_World_4 = SDLK_WORLD_4, 00207 Key_World_5 = SDLK_WORLD_5, 00208 Key_World_6 = SDLK_WORLD_6, 00209 Key_World_7 = SDLK_WORLD_7, 00210 Key_World_8 = SDLK_WORLD_8, 00211 Key_World_9 = SDLK_WORLD_9, 00212 Key_World_10 = SDLK_WORLD_10, 00213 Key_World_11 = SDLK_WORLD_11, 00214 Key_World_12 = SDLK_WORLD_12, 00215 Key_World_13 = SDLK_WORLD_13, 00216 Key_World_14 = SDLK_WORLD_14, 00217 Key_World_15 = SDLK_WORLD_15, 00218 Key_World_16 = SDLK_WORLD_16, 00219 Key_World_17 = SDLK_WORLD_17, 00220 Key_World_18 = SDLK_WORLD_18, 00221 Key_World_19 = SDLK_WORLD_19, 00222 Key_World_20 = SDLK_WORLD_20, 00223 Key_World_21 = SDLK_WORLD_21, 00224 Key_World_22 = SDLK_WORLD_22, 00225 Key_World_23 = SDLK_WORLD_23, 00226 Key_World_24 = SDLK_WORLD_24, 00227 Key_World_25 = SDLK_WORLD_25, 00228 Key_World_26 = SDLK_WORLD_26, 00229 Key_World_27 = SDLK_WORLD_27, 00230 Key_World_28 = SDLK_WORLD_28, 00231 Key_World_29 = SDLK_WORLD_29, 00232 Key_World_30 = SDLK_WORLD_30, 00233 Key_World_31 = SDLK_WORLD_31, 00234 Key_World_32 = SDLK_WORLD_32, 00235 Key_World_33 = SDLK_WORLD_33, 00236 Key_World_34 = SDLK_WORLD_34, 00237 Key_World_35 = SDLK_WORLD_35, 00238 Key_World_36 = SDLK_WORLD_36, 00239 Key_World_37 = SDLK_WORLD_37, 00240 Key_World_38 = SDLK_WORLD_38, 00241 Key_World_39 = SDLK_WORLD_39, 00242 Key_World_40 = SDLK_WORLD_40, 00243 Key_World_41 = SDLK_WORLD_41, 00244 Key_World_42 = SDLK_WORLD_42, 00245 Key_World_43 = SDLK_WORLD_43, 00246 Key_World_44 = SDLK_WORLD_44, 00247 Key_World_45 = SDLK_WORLD_45, 00248 Key_World_46 = SDLK_WORLD_46, 00249 Key_World_47 = SDLK_WORLD_47, 00250 Key_World_48 = SDLK_WORLD_48, 00251 Key_World_49 = SDLK_WORLD_49, 00252 Key_World_50 = SDLK_WORLD_50, 00253 Key_World_51 = SDLK_WORLD_51, 00254 Key_World_52 = SDLK_WORLD_52, 00255 Key_World_53 = SDLK_WORLD_53, 00256 Key_World_54 = SDLK_WORLD_54, 00257 Key_World_55 = SDLK_WORLD_55, 00258 Key_World_56 = SDLK_WORLD_56, 00259 Key_World_57 = SDLK_WORLD_57, 00260 Key_World_58 = SDLK_WORLD_58, 00261 Key_World_59 = SDLK_WORLD_59, 00262 Key_World_60 = SDLK_WORLD_60, 00263 Key_World_61 = SDLK_WORLD_61, 00264 Key_World_62 = SDLK_WORLD_62, 00265 Key_World_63 = SDLK_WORLD_63, 00266 Key_World_64 = SDLK_WORLD_64, 00267 Key_World_65 = SDLK_WORLD_65, 00268 Key_World_66 = SDLK_WORLD_66, 00269 Key_World_67 = SDLK_WORLD_67, 00270 Key_World_68 = SDLK_WORLD_68, 00271 Key_World_69 = SDLK_WORLD_69, 00272 Key_World_70 = SDLK_WORLD_70, 00273 Key_World_71 = SDLK_WORLD_71, 00274 Key_World_72 = SDLK_WORLD_72, 00275 Key_World_73 = SDLK_WORLD_73, 00276 Key_World_74 = SDLK_WORLD_74, 00277 Key_World_75 = SDLK_WORLD_75, 00278 Key_World_76 = SDLK_WORLD_76, 00279 Key_World_77 = SDLK_WORLD_77, 00280 Key_World_78 = SDLK_WORLD_78, 00281 Key_World_79 = SDLK_WORLD_79, 00282 Key_World_80 = SDLK_WORLD_80, 00283 Key_World_81 = SDLK_WORLD_81, 00284 Key_World_82 = SDLK_WORLD_82, 00285 Key_World_83 = SDLK_WORLD_83, 00286 Key_World_84 = SDLK_WORLD_84, 00287 Key_World_85 = SDLK_WORLD_85, 00288 Key_World_86 = SDLK_WORLD_86, 00289 Key_World_87 = SDLK_WORLD_87, 00290 Key_World_88 = SDLK_WORLD_88, 00291 Key_World_89 = SDLK_WORLD_89, 00292 Key_World_90 = SDLK_WORLD_90, 00293 Key_World_91 = SDLK_WORLD_91, 00294 Key_World_92 = SDLK_WORLD_92, 00295 Key_World_93 = SDLK_WORLD_93, 00296 Key_World_94 = SDLK_WORLD_94, 00297 Key_World_95 = SDLK_WORLD_95, 00298 00299 Key_KP0 = SDLK_KP0, 00300 Key_KP1 = SDLK_KP1, 00301 Key_KP2 = SDLK_KP2, 00302 Key_KP3 = SDLK_KP3, 00303 Key_KP4 = SDLK_KP4, 00304 Key_KP5 = SDLK_KP5, 00305 Key_KP6 = SDLK_KP6, 00306 Key_KP7 = SDLK_KP7, 00307 Key_KP8 = SDLK_KP8, 00308 Key_KP9 = SDLK_KP9, 00309 Key_KP_Period = SDLK_KP_PERIOD, 00310 Key_KP_Divide = SDLK_KP_DIVIDE, 00311 Key_KP_Multiply = SDLK_KP_MULTIPLY, 00312 Key_KP_Minus = SDLK_KP_MINUS, 00313 Key_KP_Plus = SDLK_KP_PLUS, 00314 Key_KP_Enter = SDLK_KP_ENTER, 00315 Key_KP_Equals = SDLK_KP_EQUALS, 00316 00317 Key_Up = SDLK_UP, 00318 Key_Down = SDLK_DOWN, 00319 Key_Right = SDLK_RIGHT, 00320 Key_Left = SDLK_LEFT, 00321 Key_Insert = SDLK_INSERT, 00322 Key_Home = SDLK_HOME, 00323 Key_End = SDLK_END, 00324 Key_PageUp = SDLK_PAGEUP, 00325 Key_PageDown = SDLK_PAGEDOWN, 00326 00327 Key_F1 = SDLK_F1, 00328 Key_F2 = SDLK_F2, 00329 Key_F3 = SDLK_F3, 00330 Key_F4 = SDLK_F4, 00331 Key_F5 = SDLK_F5, 00332 Key_F6 = SDLK_F6, 00333 Key_F7 = SDLK_F7, 00334 Key_F8 = SDLK_F8, 00335 Key_F9 = SDLK_F9, 00336 Key_F10 = SDLK_F10, 00337 Key_F11 = SDLK_F11, 00338 Key_F12 = SDLK_F12, 00339 Key_F13 = SDLK_F13, 00340 Key_F14 = SDLK_F14, 00341 Key_F15 = SDLK_F15, 00342 00343 Key_NumLock = SDLK_NUMLOCK, 00344 Key_CapsLock = SDLK_CAPSLOCK, 00345 Key_ScrollLock = SDLK_SCROLLOCK, 00346 Key_RShift = SDLK_RSHIFT, 00347 Key_LShift = SDLK_LSHIFT, 00348 Key_RCtrl = SDLK_RCTRL, 00349 Key_LCtrl = SDLK_LCTRL, 00350 Key_RAlt = SDLK_RALT, 00351 Key_LAlt = SDLK_LALT, 00352 Key_RMeta = SDLK_RMETA, 00353 Key_LMeta = SDLK_LMETA, 00354 Key_LSuper = SDLK_LSUPER, 00355 Key_RSuper = SDLK_RSUPER, 00356 Key_Mode = SDLK_MODE, 00357 Key_Compose = SDLK_COMPOSE, 00358 00359 Key_Help = SDLK_HELP, 00360 Key_Print = SDLK_PRINT, 00361 Key_SysReq = SDLK_SYSREQ, 00362 Key_Break = SDLK_BREAK, 00363 Key_Menu = SDLK_MENU, 00364 Key_Power = SDLK_POWER, 00365 Key_Euro = SDLK_EURO, 00366 Key_Undo = SDLK_UNDO, 00367 00368 Key_NumKeys = SDLK_LAST 00369 00370 } tKey; 00371 00372 typedef enum { 00373 KMod_None = KMOD_NONE, 00374 KMod_LShift = KMOD_LSHIFT, 00375 KMod_RShift = KMOD_RSHIFT, 00376 KMod_LCtrl = KMOD_LCTRL, 00377 KMod_RCtrl = KMOD_RCTRL, 00378 KMod_LAlt = KMOD_LALT, 00379 KMod_RAlt = KMOD_RALT, 00380 KMod_LMeta = KMOD_LMETA, 00381 KMod_RMeta = KMOD_RMETA, 00382 KMod_Num = KMOD_NUM, 00383 KMod_Caps = KMOD_CAPS, 00384 KMod_Mode = KMOD_MODE, 00385 00386 // Something unique, yay. 00387 KMod_Shift = KMOD_LSHIFT|KMOD_RSHIFT, 00388 KMod_Ctrl = KMOD_LCTRL|KMOD_RCTRL, 00389 KMod_Alt = KMOD_LALT|KMOD_RALT, 00390 KMod_Meta = KMOD_LMETA|KMOD_RMETA, 00391 KMod_InCaps = KMOD_LSHIFT|KMOD_RSHIFT|KMOD_CAPS 00392 } tKeyMod; 00393 00394 typedef tUint tKeyMods; 00395 00396 } 00397 00398 #endif |