AaronCameron.net
Because you all make me very, very tired.
Not a Member? - Login or Create an Account
Wednesday the 23rd of May 2012 @ 08:35am
Front Page Journal Projects Your Profile About
[]

LibN2L-4 Library Code Reference

Classes
Compounds
Files
Members
Method Index
Full Reference

cEventTypeLookups.cpp

Go 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 #include "cEventTypeLookups.h"
00026 
00027 namespace n2l
00028 {
00029 
00030     tString cEventTypeLookups::smNameKeyLookup[Key_NumKeys];
00031     tString cEventTypeLookups::smNameMouseAxisLookup[
00032         MouseAxis_NumMouseAxis];
00033 
00034     tString cEventTypeLookups::smNameMouseButtonLookup[
00035         MouseButton_NumMouseButtons];
00036 
00037     tBool cEventTypeLookups::smKeyLookupsBuilt( false );
00038     tBool cEventTypeLookups::smMouseAxisLookupsBuilt( false );
00039     tBool cEventTypeLookups::smMouseButtonLookupsBuilt( false );
00040 
00041     /***********************************************************/
00042     const tKey cEventTypeLookups::lookupTypeByName(
00043         const tString &iName )
00044     {
00045         if (!smKeyLookupsBuilt)
00046             buildNameKeyMap();
00047 
00048         const tString LCName( strToLower(iName) );
00049         for (tUint i=0; i<Key_NumKeys; ++i)
00050             if (smNameKeyLookup[i]==iName)
00051                 return tKey(i);
00052 
00053         return Key_Unknown;
00054     }
00055 
00056     /***********************************************************/
00057     const tString *cEventTypeLookups::keyNameList()
00058     {
00059         if (!smKeyLookupsBuilt)
00060             buildNameKeyMap();
00061         return smNameKeyLookup;
00062     }
00063 
00064     /***********************************************************/
00065     const tString *cEventTypeLookups::mouseAxisNameList()
00066     {
00067         if (!smMouseAxisLookupsBuilt)
00068             buildNameMouseAxisMap();
00069         return smNameMouseAxisLookup;
00070     }
00071 
00072     /***********************************************************/
00073     const tString *cEventTypeLookups::mouseButtonNameList()
00074     {
00075         if (!smMouseButtonLookupsBuilt)
00076             buildNameMouseButtonMap();
00077         return smNameMouseButtonLookup;
00078     }
00079 
00080     /***********************************************************/
00081     void cEventTypeLookups::buildNameKeyMap()
00082     {
00083         for (tUint i=0; i<Key_NumKeys; ++i)
00084             smNameKeyLookup[i] = "";
00085 
00086         smNameKeyLookup[Key_Unknown] = "unknown";
00087 
00088         smNameKeyLookup[Key_Backspace] = "backspace";
00089         smNameKeyLookup[Key_Tab] = "tab";
00090         smNameKeyLookup[Key_Clear] = "clear";
00091         smNameKeyLookup[Key_Return] = "return";
00092         smNameKeyLookup[Key_Pause] = "pause";
00093         smNameKeyLookup[Key_Escape] = "escape";
00094         smNameKeyLookup[Key_Space] = "space";
00095         smNameKeyLookup[Key_Exclaim] = "exclaim";
00096         smNameKeyLookup[Key_QuotedBl] = "quotedbl";
00097         smNameKeyLookup[Key_Hash] = "hash";
00098         smNameKeyLookup[Key_Dollar] = "dollar";
00099         smNameKeyLookup[Key_Ampersand] = "ampersand";
00100         smNameKeyLookup[Key_Quote] = "quote";
00101         smNameKeyLookup[Key_LParen] = "lparen";
00102         smNameKeyLookup[Key_RParan] = "rparan";
00103         smNameKeyLookup[Key_Asterisk] = "asterisk";
00104         smNameKeyLookup[Key_Plus] = "plus";
00105         smNameKeyLookup[Key_Comma] = "comma";
00106         smNameKeyLookup[Key_Minus] = "minus";
00107         smNameKeyLookup[Key_Period] = "period";
00108         smNameKeyLookup[Key_Slash] = "slash";
00109         smNameKeyLookup[Key_0] = "0";
00110         smNameKeyLookup[Key_1] = "1";
00111         smNameKeyLookup[Key_2] = "2";
00112         smNameKeyLookup[Key_3] = "3";
00113         smNameKeyLookup[Key_4] = "4";
00114         smNameKeyLookup[Key_5] = "5";
00115         smNameKeyLookup[Key_6] = "6";
00116         smNameKeyLookup[Key_7] = "7";
00117         smNameKeyLookup[Key_8] = "8";
00118         smNameKeyLookup[Key_9] = "9";
00119         smNameKeyLookup[Key_Colon] = "colon";
00120         smNameKeyLookup[Key_SemiColon] = "semicolon";
00121         smNameKeyLookup[Key_Less] = "less";
00122         smNameKeyLookup[Key_Equals] = "equals";
00123         smNameKeyLookup[Key_Greater] = "greater";
00124         smNameKeyLookup[Key_Question] = "question";
00125         smNameKeyLookup[Key_At] = "at";
00126         
00127         smNameKeyLookup[Key_LBracket] = "lbracket";
00128         smNameKeyLookup[Key_BackSlash] = "backslash";
00129         smNameKeyLookup[Key_RBracket] = "rbracket";
00130         smNameKeyLookup[Key_Caret] = "caret";
00131         smNameKeyLookup[Key_Underscore] = "underscore";
00132         smNameKeyLookup[Key_BackQuote] = "backquote";
00133         smNameKeyLookup[Key_A] = "a";
00134         smNameKeyLookup[Key_B] = "b";
00135         smNameKeyLookup[Key_C] = "c";
00136         smNameKeyLookup[Key_D] = "d";
00137         smNameKeyLookup[Key_E] = "e";
00138         smNameKeyLookup[Key_F] = "f";
00139         smNameKeyLookup[Key_G] = "g";
00140         smNameKeyLookup[Key_H] = "h";
00141         smNameKeyLookup[Key_I] = "i";
00142         smNameKeyLookup[Key_J] = "j";
00143         smNameKeyLookup[Key_K] = "k";
00144         smNameKeyLookup[Key_L] = "l";
00145         smNameKeyLookup[Key_M] = "m";
00146         smNameKeyLookup[Key_N] = "n";
00147         smNameKeyLookup[Key_O] = "o";
00148         smNameKeyLookup[Key_P] = "p";
00149         smNameKeyLookup[Key_Q] = "q";
00150         smNameKeyLookup[Key_R] = "r";
00151         smNameKeyLookup[Key_S] = "s";
00152         smNameKeyLookup[Key_T] = "t";
00153         smNameKeyLookup[Key_U] = "u";
00154         smNameKeyLookup[Key_V] = "v";
00155         smNameKeyLookup[Key_W] = "w";
00156         smNameKeyLookup[Key_X] = "x";
00157         smNameKeyLookup[Key_Y] = "y";
00158         smNameKeyLookup[Key_Z] = "z";
00159         smNameKeyLookup[Key_Delete] = "delete";
00160 
00161         smNameKeyLookup[Key_World_0] = "world_0";
00162         smNameKeyLookup[Key_World_1] = "world_1";
00163         smNameKeyLookup[Key_World_2] = "world_2";
00164         smNameKeyLookup[Key_World_3] = "world_3";
00165         smNameKeyLookup[Key_World_4] = "world_4";
00166         smNameKeyLookup[Key_World_5] = "world_5";
00167         smNameKeyLookup[Key_World_6] = "world_6";
00168         smNameKeyLookup[Key_World_7] = "world_7";
00169         smNameKeyLookup[Key_World_8] = "world_8";
00170         smNameKeyLookup[Key_World_9] = "world_9";
00171         smNameKeyLookup[Key_World_10] = "world_10";
00172         smNameKeyLookup[Key_World_11] = "world_11";
00173         smNameKeyLookup[Key_World_12] = "world_12";
00174         smNameKeyLookup[Key_World_13] = "world_13";
00175         smNameKeyLookup[Key_World_14] = "world_14";
00176         smNameKeyLookup[Key_World_15] = "world_15";
00177         smNameKeyLookup[Key_World_16] = "world_16";
00178         smNameKeyLookup[Key_World_17] = "world_17";
00179         smNameKeyLookup[Key_World_18] = "world_18";
00180         smNameKeyLookup[Key_World_19] = "world_19";
00181         smNameKeyLookup[Key_World_20] = "world_20";
00182         smNameKeyLookup[Key_World_21] = "world_21";
00183         smNameKeyLookup[Key_World_22] = "world_22";
00184         smNameKeyLookup[Key_World_23] = "world_23";
00185         smNameKeyLookup[Key_World_24] = "world_24";
00186         smNameKeyLookup[Key_World_25] = "world_25";
00187         smNameKeyLookup[Key_World_26] = "world_26";
00188         smNameKeyLookup[Key_World_27] = "world_27";
00189         smNameKeyLookup[Key_World_28] = "world_28";
00190         smNameKeyLookup[Key_World_29] = "world_29";
00191         smNameKeyLookup[Key_World_30] = "world_30";
00192         smNameKeyLookup[Key_World_31] = "world_31";
00193         smNameKeyLookup[Key_World_32] = "world_32";
00194         smNameKeyLookup[Key_World_33] = "world_33";
00195         smNameKeyLookup[Key_World_34] = "world_34";
00196         smNameKeyLookup[Key_World_35] = "world_35";
00197         smNameKeyLookup[Key_World_36] = "world_36";
00198         smNameKeyLookup[Key_World_37] = "world_37";
00199         smNameKeyLookup[Key_World_38] = "world_38";
00200         smNameKeyLookup[Key_World_39] = "world_39";
00201         smNameKeyLookup[Key_World_40] = "world_40";
00202         smNameKeyLookup[Key_World_41] = "world_41";
00203         smNameKeyLookup[Key_World_42] = "world_42";
00204         smNameKeyLookup[Key_World_43] = "world_43";
00205         smNameKeyLookup[Key_World_44] = "world_44";
00206         smNameKeyLookup[Key_World_45] = "world_45";
00207         smNameKeyLookup[Key_World_46] = "world_46";
00208         smNameKeyLookup[Key_World_47] = "world_47";
00209         smNameKeyLookup[Key_World_48] = "world_48";
00210         smNameKeyLookup[Key_World_49] = "world_49";
00211         smNameKeyLookup[Key_World_50] = "world_50";
00212         smNameKeyLookup[Key_World_51] = "world_51";
00213         smNameKeyLookup[Key_World_52] = "world_52";
00214         smNameKeyLookup[Key_World_53] = "world_53";
00215         smNameKeyLookup[Key_World_54] = "world_54";
00216         smNameKeyLookup[Key_World_55] = "world_55";
00217         smNameKeyLookup[Key_World_56] = "world_56";
00218         smNameKeyLookup[Key_World_57] = "world_57";
00219         smNameKeyLookup[Key_World_58] = "world_58";
00220         smNameKeyLookup[Key_World_59] = "world_59";
00221         smNameKeyLookup[Key_World_60] = "world_60";
00222         smNameKeyLookup[Key_World_61] = "world_61";
00223         smNameKeyLookup[Key_World_62] = "world_62";
00224         smNameKeyLookup[Key_World_63] = "world_63";
00225         smNameKeyLookup[Key_World_64] = "world_64";
00226         smNameKeyLookup[Key_World_65] = "world_65";
00227         smNameKeyLookup[Key_World_66] = "world_66";
00228         smNameKeyLookup[Key_World_67] = "world_67";
00229         smNameKeyLookup[Key_World_68] = "world_68";
00230         smNameKeyLookup[Key_World_69] = "world_69";
00231         smNameKeyLookup[Key_World_70] = "world_70";
00232         smNameKeyLookup[Key_World_71] = "world_71";
00233         smNameKeyLookup[Key_World_72] = "world_72";
00234         smNameKeyLookup[Key_World_73] = "world_73";
00235         smNameKeyLookup[Key_World_74] = "world_74";
00236         smNameKeyLookup[Key_World_75] = "world_75";
00237         smNameKeyLookup[Key_World_76] = "world_76";
00238         smNameKeyLookup[Key_World_77] = "world_77";
00239         smNameKeyLookup[Key_World_78] = "world_78";
00240         smNameKeyLookup[Key_World_79] = "world_79";
00241         smNameKeyLookup[Key_World_80] = "world_80";
00242         smNameKeyLookup[Key_World_81] = "world_81";
00243         smNameKeyLookup[Key_World_82] = "world_82";
00244         smNameKeyLookup[Key_World_83] = "world_83";
00245         smNameKeyLookup[Key_World_84] = "world_84";
00246         smNameKeyLookup[Key_World_85] = "world_85";
00247         smNameKeyLookup[Key_World_86] = "world_86";
00248         smNameKeyLookup[Key_World_87] = "world_87";
00249         smNameKeyLookup[Key_World_88] = "world_88";
00250         smNameKeyLookup[Key_World_89] = "world_89";
00251         smNameKeyLookup[Key_World_90] = "world_90";
00252         smNameKeyLookup[Key_World_91] = "world_91";
00253         smNameKeyLookup[Key_World_92] = "world_92";
00254         smNameKeyLookup[Key_World_93] = "world_93";
00255         smNameKeyLookup[Key_World_94] = "world_94";
00256         smNameKeyLookup[Key_World_95] = "world_95";
00257 
00258         smNameKeyLookup[Key_KP0] = "kp0";
00259         smNameKeyLookup[Key_KP1] = "kp1";
00260         smNameKeyLookup[Key_KP2] = "kp2";
00261         smNameKeyLookup[Key_KP3] = "kp3";
00262         smNameKeyLookup[Key_KP4] = "kp4";
00263         smNameKeyLookup[Key_KP5] = "kp5";
00264         smNameKeyLookup[Key_KP6] = "kp6";
00265         smNameKeyLookup[Key_KP7] = "kp7";
00266         smNameKeyLookup[Key_KP8] = "kp8";
00267         smNameKeyLookup[Key_KP9] = "kp9";
00268         smNameKeyLookup[Key_KP_Period] = "kp_period";
00269         smNameKeyLookup[Key_KP_Divide] = "kp_divide";
00270         smNameKeyLookup[Key_KP_Multiply] = "kp_multiply";
00271         smNameKeyLookup[Key_KP_Minus] = "kp_minus";
00272         smNameKeyLookup[Key_KP_Plus] = "kp_plus";
00273         smNameKeyLookup[Key_KP_Enter] = "kp_enter";
00274         smNameKeyLookup[Key_KP_Equals] = "kp_equals";
00275 
00276         smNameKeyLookup[Key_Up] = "up";
00277         smNameKeyLookup[Key_Down] = "down";
00278         smNameKeyLookup[Key_Right] = "right";
00279         smNameKeyLookup[Key_Left] = "left";
00280         smNameKeyLookup[Key_Insert] = "insert";
00281         smNameKeyLookup[Key_Home] = "home";
00282         smNameKeyLookup[Key_End] = "end";
00283         smNameKeyLookup[Key_PageUp] = "pageup";
00284         smNameKeyLookup[Key_PageDown] = "pagedown";
00285 
00286         smNameKeyLookup[Key_F1] = "f1";
00287         smNameKeyLookup[Key_F2] = "f2";
00288         smNameKeyLookup[Key_F3] = "f3";
00289         smNameKeyLookup[Key_F4] = "f4";
00290         smNameKeyLookup[Key_F5] = "f5";
00291         smNameKeyLookup[Key_F6] = "f6";
00292         smNameKeyLookup[Key_F7] = "f7";
00293         smNameKeyLookup[Key_F8] = "f8";
00294         smNameKeyLookup[Key_F9] = "f9";
00295         smNameKeyLookup[Key_F10] = "f10";
00296         smNameKeyLookup[Key_F11] = "f11";
00297         smNameKeyLookup[Key_F12] = "f12";
00298         smNameKeyLookup[Key_F13] = "f13";
00299         smNameKeyLookup[Key_F14] = "f14";
00300         smNameKeyLookup[Key_F15] = "f15";
00301 
00302         smNameKeyLookup[Key_NumLock] = "numlock";
00303         smNameKeyLookup[Key_CapsLock] = "capslock";
00304         smNameKeyLookup[Key_ScrollLock] = "scrolllock";
00305         smNameKeyLookup[Key_RShift] = "rshift";
00306         smNameKeyLookup[Key_LShift] = "lshift";
00307         smNameKeyLookup[Key_RCtrl] = "rctrl";
00308         smNameKeyLookup[Key_LCtrl] = "lctrl";
00309         smNameKeyLookup[Key_RAlt] = "ralt";
00310         smNameKeyLookup[Key_LAlt] = "lalt";
00311         smNameKeyLookup[Key_RMeta] = "rmeta";
00312         smNameKeyLookup[Key_LMeta] = "lmeta";
00313         smNameKeyLookup[Key_LSuper] = "lsuper";
00314         smNameKeyLookup[Key_RSuper] = "rsuper";
00315         smNameKeyLookup[Key_Mode] = "mode";
00316         smNameKeyLookup[Key_Compose] = "compose";
00317 
00318         smNameKeyLookup[Key_Help] = "help";
00319         smNameKeyLookup[Key_Print] = "print";
00320         smNameKeyLookup[Key_SysReq] = "sysreq";
00321         smNameKeyLookup[Key_Break] = "break";
00322         smNameKeyLookup[Key_Menu] = "menu";
00323         smNameKeyLookup[Key_Power] = "power";
00324         smNameKeyLookup[Key_Euro] = "euro";
00325         smNameKeyLookup[Key_Undo] = "undo";
00326 
00327         smKeyLookupsBuilt = true;
00328     }
00329 
00330     /***********************************************************/
00331     void cEventTypeLookups::buildNameMouseAxisMap()
00332     {
00333         for (tUint i=0; i<MouseAxis_NumMouseAxis; ++i)
00334             smNameMouseAxisLookup[i] = "";
00335 
00336         smNameMouseAxisLookup[MouseAxis_X] = "x";
00337         smNameMouseAxisLookup[MouseAxis_Y] = "y";
00338 
00339         smMouseAxisLookupsBuilt = true;
00340     }
00341 
00342     /***********************************************************/
00343     void cEventTypeLookups::buildNameMouseButtonMap()
00344     {
00345         for (tUint i=0; i<MouseButton_NumMouseButtons; ++i)
00346             smNameMouseButtonLookup[i] = "";
00347 
00348         smNameMouseButtonLookup[MouseButton_Left] = "left";
00349         smNameMouseButtonLookup[MouseButton_Middle] = "middle";
00350         smNameMouseButtonLookup[MouseButton_Right] = "right";
00351         smNameMouseButtonLookup[MouseButton_Up] = "up";
00352         smNameMouseButtonLookup[MouseButton_Down] = "down";
00353 
00354         smMouseButtonLookupsBuilt = true;
00355     }
00356 
00357 }
©2012 Aaron Cameron