GG
|
00001 // -*- C++ -*- 00002 /* GG is a GUI for SDL and OpenGL. 00003 Copyright (C) 2003-2008 T. Zachary Laine 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 License 00007 as published by the Free Software Foundation; either version 2.1 00008 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 00017 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 00018 02111-1307 USA 00019 00020 If you do not wish to comply with the terms of the LGPL please 00021 contact the author as other terms are available for a fee. 00022 00023 Zach Laine 00024 whatwasthataddress@gmail.com */ 00025 00029 #ifndef _GG_Base_h_ 00030 #define _GG_Base_h_ 00031 00032 #include <GG/Export.h> 00033 00034 // include OpenGL headers 00035 #if defined(__APPLE__) && defined(__MACH__) 00036 # include <OpenGL/gl.h> 00037 # include <OpenGL/glu.h> 00038 #else 00039 # include <GL/gl.h> 00040 # include <GL/glu.h> 00041 #endif 00042 #include <GG/glext.h> 00043 00044 // include useful boost headers 00045 #include <boost/cstdint.hpp> 00046 #include <boost/signal.hpp> 00047 00048 // other headers 00049 #include <GG/Enum.h> 00050 #include <GG/Clr.h> 00051 #include <GG/PtRect.h> 00052 #include <GG/SignalsAndSlots.h> 00053 00054 00057 namespace GG { 00058 00059 extern GG_API const bool INSTRUMENT_ALL_SIGNALS; 00060 00061 template <class FlagType> 00062 class Flags; 00063 class ModKey; 00064 00065 template <class T> 00066 class ScopedAssign 00067 { 00068 public: 00069 ScopedAssign(T& t, T val) : 00070 m_old_val(t), 00071 m_t(t) 00072 { m_t = val; } 00073 ~ScopedAssign() 00074 { m_t = m_old_val; } 00075 00076 private: 00077 T m_old_val; 00078 T& m_t; 00079 }; 00080 00083 enum WndRegion { 00084 WR_NONE = -1, 00085 WR_TOPLEFT = 0, 00086 WR_TOP, 00087 WR_TOPRIGHT, 00088 WR_MIDLEFT, 00089 WR_MIDDLE, 00090 WR_MIDRIGHT, 00091 WR_BOTTOMLEFT, 00092 WR_BOTTOM, 00093 WR_BOTTOMRIGHT 00094 }; 00095 00097 enum Orientation { 00098 VERTICAL, 00099 HORIZONTAL 00100 }; 00101 00103 enum StateButtonStyle { 00104 SBSTYLE_3D_XBOX, 00105 SBSTYLE_3D_CHECKBOX, 00106 SBSTYLE_3D_RADIO, 00107 SBSTYLE_3D_BUTTON, 00108 SBSTYLE_3D_ROUND_BUTTON, 00109 00112 SBSTYLE_3D_TOP_ATTACHED_TAB, 00113 00116 SBSTYLE_3D_TOP_DETACHED_TAB 00117 }; 00118 00120 enum SliderLineStyle { 00121 FLAT, 00122 RAISED, 00123 GROOVED 00124 }; 00125 00127 enum TabBarStyle { 00130 TAB_BAR_ATTACHED, 00131 00134 TAB_BAR_DETACHED 00135 }; 00136 00137 00140 enum Key { 00141 // The keyboard symbols have been cleverly chosen to map to ASCII 00142 GGK_UNKNOWN = 0, 00143 GGK_FIRST = 0, 00144 GGK_BACKSPACE = 8, 00145 GGK_TAB = 9, 00146 GGK_CLEAR = 12, 00147 GGK_RETURN = 13, 00148 GGK_PAUSE = 19, 00149 GGK_ESCAPE = 27, 00150 GGK_SPACE = 32, 00151 GGK_EXCLAIM = 33, 00152 GGK_QUOTEDBL = 34, 00153 GGK_HASH = 35, 00154 GGK_DOLLAR = 36, 00155 GGK_AMPERSAND = 38, 00156 GGK_QUOTE = 39, 00157 GGK_LEFTPAREN = 40, 00158 GGK_RIGHTPAREN = 41, 00159 GGK_ASTERISK = 42, 00160 GGK_PLUS = 43, 00161 GGK_COMMA = 44, 00162 GGK_MINUS = 45, 00163 GGK_PERIOD = 46, 00164 GGK_SLASH = 47, 00165 GGK_0 = 48, 00166 GGK_1 = 49, 00167 GGK_2 = 50, 00168 GGK_3 = 51, 00169 GGK_4 = 52, 00170 GGK_5 = 53, 00171 GGK_6 = 54, 00172 GGK_7 = 55, 00173 GGK_8 = 56, 00174 GGK_9 = 57, 00175 GGK_COLON = 58, 00176 GGK_SEMICOLON = 59, 00177 GGK_LESS = 60, 00178 GGK_EQUALS = 61, 00179 GGK_GREATER = 62, 00180 GGK_QUESTION = 63, 00181 GGK_AT = 64, 00182 GGK_A = 65, 00183 GGK_B = 66, 00184 GGK_C = 67, 00185 GGK_D = 68, 00186 GGK_E = 69, 00187 GGK_F = 70, 00188 GGK_G = 71, 00189 GGK_H = 72, 00190 GGK_I = 73, 00191 GGK_J = 74, 00192 GGK_K = 75, 00193 GGK_L = 76, 00194 GGK_M = 77, 00195 GGK_N = 78, 00196 GGK_O = 79, 00197 GGK_P = 80, 00198 GGK_Q = 81, 00199 GGK_R = 82, 00200 GGK_S = 83, 00201 GGK_T = 84, 00202 GGK_U = 85, 00203 GGK_V = 86, 00204 GGK_W = 87, 00205 GGK_X = 88, 00206 GGK_Y = 89, 00207 GGK_Z = 90, 00208 GGK_LEFTBRACKET = 91, 00209 GGK_BACKSLASH = 92, 00210 GGK_RIGHTBRACKET = 93, 00211 GGK_CARET = 94, 00212 GGK_UNDERSCORE = 95, 00213 GGK_BACKQUOTE = 96, 00214 GGK_a = 97, 00215 GGK_b = 98, 00216 GGK_c = 99, 00217 GGK_d = 100, 00218 GGK_e = 101, 00219 GGK_f = 102, 00220 GGK_g = 103, 00221 GGK_h = 104, 00222 GGK_i = 105, 00223 GGK_j = 106, 00224 GGK_k = 107, 00225 GGK_l = 108, 00226 GGK_m = 109, 00227 GGK_n = 110, 00228 GGK_o = 111, 00229 GGK_p = 112, 00230 GGK_q = 113, 00231 GGK_r = 114, 00232 GGK_s = 115, 00233 GGK_t = 116, 00234 GGK_u = 117, 00235 GGK_v = 118, 00236 GGK_w = 119, 00237 GGK_x = 120, 00238 GGK_y = 121, 00239 GGK_z = 122, 00240 GGK_DELETE = 127, 00241 // End of ASCII mapped keysyms 00242 00243 // International keyboard syms 00244 GGK_WORLD_0 = 160, // 0xA0 00245 GGK_WORLD_1 = 161, 00246 GGK_WORLD_2 = 162, 00247 GGK_WORLD_3 = 163, 00248 GGK_WORLD_4 = 164, 00249 GGK_WORLD_5 = 165, 00250 GGK_WORLD_6 = 166, 00251 GGK_WORLD_7 = 167, 00252 GGK_WORLD_8 = 168, 00253 GGK_WORLD_9 = 169, 00254 GGK_WORLD_10 = 170, 00255 GGK_WORLD_11 = 171, 00256 GGK_WORLD_12 = 172, 00257 GGK_WORLD_13 = 173, 00258 GGK_WORLD_14 = 174, 00259 GGK_WORLD_15 = 175, 00260 GGK_WORLD_16 = 176, 00261 GGK_WORLD_17 = 177, 00262 GGK_WORLD_18 = 178, 00263 GGK_WORLD_19 = 179, 00264 GGK_WORLD_20 = 180, 00265 GGK_WORLD_21 = 181, 00266 GGK_WORLD_22 = 182, 00267 GGK_WORLD_23 = 183, 00268 GGK_WORLD_24 = 184, 00269 GGK_WORLD_25 = 185, 00270 GGK_WORLD_26 = 186, 00271 GGK_WORLD_27 = 187, 00272 GGK_WORLD_28 = 188, 00273 GGK_WORLD_29 = 189, 00274 GGK_WORLD_30 = 190, 00275 GGK_WORLD_31 = 191, 00276 GGK_WORLD_32 = 192, 00277 GGK_WORLD_33 = 193, 00278 GGK_WORLD_34 = 194, 00279 GGK_WORLD_35 = 195, 00280 GGK_WORLD_36 = 196, 00281 GGK_WORLD_37 = 197, 00282 GGK_WORLD_38 = 198, 00283 GGK_WORLD_39 = 199, 00284 GGK_WORLD_40 = 200, 00285 GGK_WORLD_41 = 201, 00286 GGK_WORLD_42 = 202, 00287 GGK_WORLD_43 = 203, 00288 GGK_WORLD_44 = 204, 00289 GGK_WORLD_45 = 205, 00290 GGK_WORLD_46 = 206, 00291 GGK_WORLD_47 = 207, 00292 GGK_WORLD_48 = 208, 00293 GGK_WORLD_49 = 209, 00294 GGK_WORLD_50 = 210, 00295 GGK_WORLD_51 = 211, 00296 GGK_WORLD_52 = 212, 00297 GGK_WORLD_53 = 213, 00298 GGK_WORLD_54 = 214, 00299 GGK_WORLD_55 = 215, 00300 GGK_WORLD_56 = 216, 00301 GGK_WORLD_57 = 217, 00302 GGK_WORLD_58 = 218, 00303 GGK_WORLD_59 = 219, 00304 GGK_WORLD_60 = 220, 00305 GGK_WORLD_61 = 221, 00306 GGK_WORLD_62 = 222, 00307 GGK_WORLD_63 = 223, 00308 GGK_WORLD_64 = 224, 00309 GGK_WORLD_65 = 225, 00310 GGK_WORLD_66 = 226, 00311 GGK_WORLD_67 = 227, 00312 GGK_WORLD_68 = 228, 00313 GGK_WORLD_69 = 229, 00314 GGK_WORLD_70 = 230, 00315 GGK_WORLD_71 = 231, 00316 GGK_WORLD_72 = 232, 00317 GGK_WORLD_73 = 233, 00318 GGK_WORLD_74 = 234, 00319 GGK_WORLD_75 = 235, 00320 GGK_WORLD_76 = 236, 00321 GGK_WORLD_77 = 237, 00322 GGK_WORLD_78 = 238, 00323 GGK_WORLD_79 = 239, 00324 GGK_WORLD_80 = 240, 00325 GGK_WORLD_81 = 241, 00326 GGK_WORLD_82 = 242, 00327 GGK_WORLD_83 = 243, 00328 GGK_WORLD_84 = 244, 00329 GGK_WORLD_85 = 245, 00330 GGK_WORLD_86 = 246, 00331 GGK_WORLD_87 = 247, 00332 GGK_WORLD_88 = 248, 00333 GGK_WORLD_89 = 249, 00334 GGK_WORLD_90 = 250, 00335 GGK_WORLD_91 = 251, 00336 GGK_WORLD_92 = 252, 00337 GGK_WORLD_93 = 253, 00338 GGK_WORLD_94 = 254, 00339 GGK_WORLD_95 = 255, // 0xFF 00340 00341 // Numeric keypad 00342 GGK_KP0 = 256, 00343 GGK_KP1 = 257, 00344 GGK_KP2 = 258, 00345 GGK_KP3 = 259, 00346 GGK_KP4 = 260, 00347 GGK_KP5 = 261, 00348 GGK_KP6 = 262, 00349 GGK_KP7 = 263, 00350 GGK_KP8 = 264, 00351 GGK_KP9 = 265, 00352 GGK_KP_PERIOD = 266, 00353 GGK_KP_DIVIDE = 267, 00354 GGK_KP_MULTIPLY = 268, 00355 GGK_KP_MINUS = 269, 00356 GGK_KP_PLUS = 270, 00357 GGK_KP_ENTER = 271, 00358 GGK_KP_EQUALS = 272, 00359 00360 // Arrows + Home/End pad 00361 GGK_UP = 273, 00362 GGK_DOWN = 274, 00363 GGK_RIGHT = 275, 00364 GGK_LEFT = 276, 00365 GGK_INSERT = 277, 00366 GGK_HOME = 278, 00367 GGK_END = 279, 00368 GGK_PAGEUP = 280, 00369 GGK_PAGEDOWN = 281, 00370 00371 // Function keys 00372 GGK_F1 = 282, 00373 GGK_F2 = 283, 00374 GGK_F3 = 284, 00375 GGK_F4 = 285, 00376 GGK_F5 = 286, 00377 GGK_F6 = 287, 00378 GGK_F7 = 288, 00379 GGK_F8 = 289, 00380 GGK_F9 = 290, 00381 GGK_F10 = 291, 00382 GGK_F11 = 292, 00383 GGK_F12 = 293, 00384 GGK_F13 = 294, 00385 GGK_F14 = 295, 00386 GGK_F15 = 296, 00387 00388 // Key state modifier keys 00389 GGK_NUMLOCK = 300, 00390 GGK_CAPSLOCK = 301, 00391 GGK_SCROLLOCK = 302, 00392 GGK_RSHIFT = 303, 00393 GGK_LSHIFT = 304, 00394 GGK_RCTRL = 305, 00395 GGK_LCTRL = 306, 00396 GGK_RALT = 307, 00397 GGK_LALT = 308, 00398 GGK_RMETA = 309, 00399 GGK_LMETA = 310, 00400 GGK_LSUPER = 311, // Left "Windows" key 00401 GGK_RSUPER = 312, // Right "Windows" key 00402 GGK_MODE = 313, // "Alt Gr" key 00403 GGK_COMPOSE = 314, // Multi-key compose key 00404 00405 // Miscellaneous function keys 00406 GGK_HELP = 315, 00407 GGK_PRINT = 316, 00408 GGK_SYSREQ = 317, 00409 GGK_BREAK = 318, 00410 GGK_MENU = 319, 00411 GGK_POWER = 320, // Power Macintosh power key 00412 GGK_EURO = 321, // Some european keyboards 00413 GGK_UNDO = 322, // Atari keyboard has Undo 00414 00415 // Add any other keys here 00416 00417 GGK_LAST 00418 }; 00419 00425 void KeypadKeyToPrintable(Key& key, Flags<ModKey> mod_keys); 00426 00427 00429 // EnumMaps and stream operators 00431 00432 // define EnumMap and stream operators for Slider::LineStyleType 00433 GG_ENUM_MAP_BEGIN(SliderLineStyle) 00434 GG_ENUM_MAP_INSERT(FLAT) 00435 GG_ENUM_MAP_INSERT(RAISED) 00436 GG_ENUM_MAP_INSERT(GROOVED) 00437 GG_ENUM_MAP_END 00438 00439 GG_ENUM_STREAM_IN(SliderLineStyle) 00440 GG_ENUM_STREAM_OUT(SliderLineStyle) 00441 00442 // define EnumMap and stream operators for Orientation 00443 GG_ENUM_MAP_BEGIN(Orientation) 00444 GG_ENUM_MAP_INSERT(VERTICAL) 00445 GG_ENUM_MAP_INSERT(HORIZONTAL) 00446 GG_ENUM_MAP_END 00447 00448 GG_ENUM_STREAM_IN(Orientation) 00449 GG_ENUM_STREAM_OUT(Orientation) 00450 00451 // define EnumMap and stream operators for StateButtonStyle 00452 GG_ENUM_MAP_BEGIN(StateButtonStyle) 00453 GG_ENUM_MAP_INSERT(SBSTYLE_3D_XBOX) 00454 GG_ENUM_MAP_INSERT(SBSTYLE_3D_CHECKBOX) 00455 GG_ENUM_MAP_INSERT(SBSTYLE_3D_RADIO) 00456 GG_ENUM_MAP_INSERT(SBSTYLE_3D_BUTTON) 00457 GG_ENUM_MAP_INSERT(SBSTYLE_3D_ROUND_BUTTON) 00458 GG_ENUM_MAP_INSERT(SBSTYLE_3D_TOP_ATTACHED_TAB) 00459 GG_ENUM_MAP_INSERT(SBSTYLE_3D_TOP_DETACHED_TAB) 00460 GG_ENUM_MAP_END 00461 00462 GG_ENUM_STREAM_IN(StateButtonStyle) 00463 GG_ENUM_STREAM_OUT(StateButtonStyle) 00464 00465 // define EnumMap and stream operators for TabBarStyle 00466 GG_ENUM_MAP_BEGIN(TabBarStyle) 00467 GG_ENUM_MAP_INSERT(TAB_BAR_ATTACHED) 00468 GG_ENUM_MAP_INSERT(TAB_BAR_DETACHED) 00469 GG_ENUM_MAP_END 00470 00471 GG_ENUM_STREAM_IN(TabBarStyle) 00472 GG_ENUM_STREAM_OUT(TabBarStyle) 00473 00474 // define EnumMap and stream operators for Mod 00475 GG_ENUM_MAP_BEGIN(Key) 00476 GG_ENUM_MAP_INSERT(GGK_UNKNOWN) 00477 GG_ENUM_MAP_INSERT(GGK_FIRST) 00478 GG_ENUM_MAP_INSERT(GGK_BACKSPACE) 00479 GG_ENUM_MAP_INSERT(GGK_TAB) 00480 GG_ENUM_MAP_INSERT(GGK_CLEAR) 00481 GG_ENUM_MAP_INSERT(GGK_RETURN) 00482 GG_ENUM_MAP_INSERT(GGK_PAUSE) 00483 GG_ENUM_MAP_INSERT(GGK_ESCAPE) 00484 GG_ENUM_MAP_INSERT(GGK_SPACE) 00485 GG_ENUM_MAP_INSERT(GGK_EXCLAIM) 00486 GG_ENUM_MAP_INSERT(GGK_QUOTEDBL) 00487 GG_ENUM_MAP_INSERT(GGK_HASH) 00488 GG_ENUM_MAP_INSERT(GGK_DOLLAR) 00489 GG_ENUM_MAP_INSERT(GGK_AMPERSAND) 00490 GG_ENUM_MAP_INSERT(GGK_QUOTE) 00491 GG_ENUM_MAP_INSERT(GGK_LEFTPAREN) 00492 GG_ENUM_MAP_INSERT(GGK_RIGHTPAREN) 00493 GG_ENUM_MAP_INSERT(GGK_ASTERISK) 00494 GG_ENUM_MAP_INSERT(GGK_PLUS) 00495 GG_ENUM_MAP_INSERT(GGK_COMMA) 00496 GG_ENUM_MAP_INSERT(GGK_MINUS) 00497 GG_ENUM_MAP_INSERT(GGK_PERIOD) 00498 GG_ENUM_MAP_INSERT(GGK_SLASH) 00499 GG_ENUM_MAP_INSERT(GGK_0) 00500 GG_ENUM_MAP_INSERT(GGK_1) 00501 GG_ENUM_MAP_INSERT(GGK_2) 00502 GG_ENUM_MAP_INSERT(GGK_3) 00503 GG_ENUM_MAP_INSERT(GGK_4) 00504 GG_ENUM_MAP_INSERT(GGK_5) 00505 GG_ENUM_MAP_INSERT(GGK_6) 00506 GG_ENUM_MAP_INSERT(GGK_7) 00507 GG_ENUM_MAP_INSERT(GGK_8) 00508 GG_ENUM_MAP_INSERT(GGK_9) 00509 GG_ENUM_MAP_INSERT(GGK_COLON) 00510 GG_ENUM_MAP_INSERT(GGK_SEMICOLON) 00511 GG_ENUM_MAP_INSERT(GGK_LESS) 00512 GG_ENUM_MAP_INSERT(GGK_EQUALS) 00513 GG_ENUM_MAP_INSERT(GGK_GREATER) 00514 GG_ENUM_MAP_INSERT(GGK_QUESTION) 00515 GG_ENUM_MAP_INSERT(GGK_AT) 00516 GG_ENUM_MAP_INSERT(GGK_A) 00517 GG_ENUM_MAP_INSERT(GGK_B) 00518 GG_ENUM_MAP_INSERT(GGK_C) 00519 GG_ENUM_MAP_INSERT(GGK_D) 00520 GG_ENUM_MAP_INSERT(GGK_E) 00521 GG_ENUM_MAP_INSERT(GGK_F) 00522 GG_ENUM_MAP_INSERT(GGK_G) 00523 GG_ENUM_MAP_INSERT(GGK_H) 00524 GG_ENUM_MAP_INSERT(GGK_I) 00525 GG_ENUM_MAP_INSERT(GGK_J) 00526 GG_ENUM_MAP_INSERT(GGK_K) 00527 GG_ENUM_MAP_INSERT(GGK_L) 00528 GG_ENUM_MAP_INSERT(GGK_M) 00529 GG_ENUM_MAP_INSERT(GGK_N) 00530 GG_ENUM_MAP_INSERT(GGK_O) 00531 GG_ENUM_MAP_INSERT(GGK_P) 00532 GG_ENUM_MAP_INSERT(GGK_Q) 00533 GG_ENUM_MAP_INSERT(GGK_R) 00534 GG_ENUM_MAP_INSERT(GGK_S) 00535 GG_ENUM_MAP_INSERT(GGK_T) 00536 GG_ENUM_MAP_INSERT(GGK_U) 00537 GG_ENUM_MAP_INSERT(GGK_V) 00538 GG_ENUM_MAP_INSERT(GGK_W) 00539 GG_ENUM_MAP_INSERT(GGK_X) 00540 GG_ENUM_MAP_INSERT(GGK_Y) 00541 GG_ENUM_MAP_INSERT(GGK_Z) 00542 GG_ENUM_MAP_INSERT(GGK_LEFTBRACKET) 00543 GG_ENUM_MAP_INSERT(GGK_BACKSLASH) 00544 GG_ENUM_MAP_INSERT(GGK_RIGHTBRACKET) 00545 GG_ENUM_MAP_INSERT(GGK_CARET) 00546 GG_ENUM_MAP_INSERT(GGK_UNDERSCORE) 00547 GG_ENUM_MAP_INSERT(GGK_BACKQUOTE) 00548 GG_ENUM_MAP_INSERT(GGK_a) 00549 GG_ENUM_MAP_INSERT(GGK_b) 00550 GG_ENUM_MAP_INSERT(GGK_c) 00551 GG_ENUM_MAP_INSERT(GGK_d) 00552 GG_ENUM_MAP_INSERT(GGK_e) 00553 GG_ENUM_MAP_INSERT(GGK_f) 00554 GG_ENUM_MAP_INSERT(GGK_g) 00555 GG_ENUM_MAP_INSERT(GGK_h) 00556 GG_ENUM_MAP_INSERT(GGK_i) 00557 GG_ENUM_MAP_INSERT(GGK_j) 00558 GG_ENUM_MAP_INSERT(GGK_k) 00559 GG_ENUM_MAP_INSERT(GGK_l) 00560 GG_ENUM_MAP_INSERT(GGK_m) 00561 GG_ENUM_MAP_INSERT(GGK_n) 00562 GG_ENUM_MAP_INSERT(GGK_o) 00563 GG_ENUM_MAP_INSERT(GGK_p) 00564 GG_ENUM_MAP_INSERT(GGK_q) 00565 GG_ENUM_MAP_INSERT(GGK_r) 00566 GG_ENUM_MAP_INSERT(GGK_s) 00567 GG_ENUM_MAP_INSERT(GGK_t) 00568 GG_ENUM_MAP_INSERT(GGK_u) 00569 GG_ENUM_MAP_INSERT(GGK_v) 00570 GG_ENUM_MAP_INSERT(GGK_w) 00571 GG_ENUM_MAP_INSERT(GGK_x) 00572 GG_ENUM_MAP_INSERT(GGK_y) 00573 GG_ENUM_MAP_INSERT(GGK_z) 00574 GG_ENUM_MAP_INSERT(GGK_DELETE) 00575 00576 GG_ENUM_MAP_INSERT(GGK_WORLD_0) 00577 GG_ENUM_MAP_INSERT(GGK_WORLD_1) 00578 GG_ENUM_MAP_INSERT(GGK_WORLD_2) 00579 GG_ENUM_MAP_INSERT(GGK_WORLD_3) 00580 GG_ENUM_MAP_INSERT(GGK_WORLD_4) 00581 GG_ENUM_MAP_INSERT(GGK_WORLD_5) 00582 GG_ENUM_MAP_INSERT(GGK_WORLD_6) 00583 GG_ENUM_MAP_INSERT(GGK_WORLD_7) 00584 GG_ENUM_MAP_INSERT(GGK_WORLD_8) 00585 GG_ENUM_MAP_INSERT(GGK_WORLD_9) 00586 GG_ENUM_MAP_INSERT(GGK_WORLD_10) 00587 GG_ENUM_MAP_INSERT(GGK_WORLD_11) 00588 GG_ENUM_MAP_INSERT(GGK_WORLD_12) 00589 GG_ENUM_MAP_INSERT(GGK_WORLD_13) 00590 GG_ENUM_MAP_INSERT(GGK_WORLD_14) 00591 GG_ENUM_MAP_INSERT(GGK_WORLD_15) 00592 GG_ENUM_MAP_INSERT(GGK_WORLD_16) 00593 GG_ENUM_MAP_INSERT(GGK_WORLD_17) 00594 GG_ENUM_MAP_INSERT(GGK_WORLD_18) 00595 GG_ENUM_MAP_INSERT(GGK_WORLD_19) 00596 GG_ENUM_MAP_INSERT(GGK_WORLD_20) 00597 GG_ENUM_MAP_INSERT(GGK_WORLD_21) 00598 GG_ENUM_MAP_INSERT(GGK_WORLD_22) 00599 GG_ENUM_MAP_INSERT(GGK_WORLD_23) 00600 GG_ENUM_MAP_INSERT(GGK_WORLD_24) 00601 GG_ENUM_MAP_INSERT(GGK_WORLD_25) 00602 GG_ENUM_MAP_INSERT(GGK_WORLD_26) 00603 GG_ENUM_MAP_INSERT(GGK_WORLD_27) 00604 GG_ENUM_MAP_INSERT(GGK_WORLD_28) 00605 GG_ENUM_MAP_INSERT(GGK_WORLD_29) 00606 GG_ENUM_MAP_INSERT(GGK_WORLD_30) 00607 GG_ENUM_MAP_INSERT(GGK_WORLD_31) 00608 GG_ENUM_MAP_INSERT(GGK_WORLD_32) 00609 GG_ENUM_MAP_INSERT(GGK_WORLD_33) 00610 GG_ENUM_MAP_INSERT(GGK_WORLD_34) 00611 GG_ENUM_MAP_INSERT(GGK_WORLD_35) 00612 GG_ENUM_MAP_INSERT(GGK_WORLD_36) 00613 GG_ENUM_MAP_INSERT(GGK_WORLD_37) 00614 GG_ENUM_MAP_INSERT(GGK_WORLD_38) 00615 GG_ENUM_MAP_INSERT(GGK_WORLD_39) 00616 GG_ENUM_MAP_INSERT(GGK_WORLD_40) 00617 GG_ENUM_MAP_INSERT(GGK_WORLD_41) 00618 GG_ENUM_MAP_INSERT(GGK_WORLD_42) 00619 GG_ENUM_MAP_INSERT(GGK_WORLD_43) 00620 GG_ENUM_MAP_INSERT(GGK_WORLD_44) 00621 GG_ENUM_MAP_INSERT(GGK_WORLD_45) 00622 GG_ENUM_MAP_INSERT(GGK_WORLD_46) 00623 GG_ENUM_MAP_INSERT(GGK_WORLD_47) 00624 GG_ENUM_MAP_INSERT(GGK_WORLD_48) 00625 GG_ENUM_MAP_INSERT(GGK_WORLD_49) 00626 GG_ENUM_MAP_INSERT(GGK_WORLD_50) 00627 GG_ENUM_MAP_INSERT(GGK_WORLD_51) 00628 GG_ENUM_MAP_INSERT(GGK_WORLD_52) 00629 GG_ENUM_MAP_INSERT(GGK_WORLD_53) 00630 GG_ENUM_MAP_INSERT(GGK_WORLD_54) 00631 GG_ENUM_MAP_INSERT(GGK_WORLD_55) 00632 GG_ENUM_MAP_INSERT(GGK_WORLD_56) 00633 GG_ENUM_MAP_INSERT(GGK_WORLD_57) 00634 GG_ENUM_MAP_INSERT(GGK_WORLD_58) 00635 GG_ENUM_MAP_INSERT(GGK_WORLD_59) 00636 GG_ENUM_MAP_INSERT(GGK_WORLD_60) 00637 GG_ENUM_MAP_INSERT(GGK_WORLD_61) 00638 GG_ENUM_MAP_INSERT(GGK_WORLD_62) 00639 GG_ENUM_MAP_INSERT(GGK_WORLD_63) 00640 GG_ENUM_MAP_INSERT(GGK_WORLD_64) 00641 GG_ENUM_MAP_INSERT(GGK_WORLD_65) 00642 GG_ENUM_MAP_INSERT(GGK_WORLD_66) 00643 GG_ENUM_MAP_INSERT(GGK_WORLD_67) 00644 GG_ENUM_MAP_INSERT(GGK_WORLD_68) 00645 GG_ENUM_MAP_INSERT(GGK_WORLD_69) 00646 GG_ENUM_MAP_INSERT(GGK_WORLD_70) 00647 GG_ENUM_MAP_INSERT(GGK_WORLD_71) 00648 GG_ENUM_MAP_INSERT(GGK_WORLD_72) 00649 GG_ENUM_MAP_INSERT(GGK_WORLD_73) 00650 GG_ENUM_MAP_INSERT(GGK_WORLD_74) 00651 GG_ENUM_MAP_INSERT(GGK_WORLD_75) 00652 GG_ENUM_MAP_INSERT(GGK_WORLD_76) 00653 GG_ENUM_MAP_INSERT(GGK_WORLD_77) 00654 GG_ENUM_MAP_INSERT(GGK_WORLD_78) 00655 GG_ENUM_MAP_INSERT(GGK_WORLD_79) 00656 GG_ENUM_MAP_INSERT(GGK_WORLD_80) 00657 GG_ENUM_MAP_INSERT(GGK_WORLD_81) 00658 GG_ENUM_MAP_INSERT(GGK_WORLD_82) 00659 GG_ENUM_MAP_INSERT(GGK_WORLD_83) 00660 GG_ENUM_MAP_INSERT(GGK_WORLD_84) 00661 GG_ENUM_MAP_INSERT(GGK_WORLD_85) 00662 GG_ENUM_MAP_INSERT(GGK_WORLD_86) 00663 GG_ENUM_MAP_INSERT(GGK_WORLD_87) 00664 GG_ENUM_MAP_INSERT(GGK_WORLD_88) 00665 GG_ENUM_MAP_INSERT(GGK_WORLD_89) 00666 GG_ENUM_MAP_INSERT(GGK_WORLD_90) 00667 GG_ENUM_MAP_INSERT(GGK_WORLD_91) 00668 GG_ENUM_MAP_INSERT(GGK_WORLD_92) 00669 GG_ENUM_MAP_INSERT(GGK_WORLD_93) 00670 GG_ENUM_MAP_INSERT(GGK_WORLD_94) 00671 GG_ENUM_MAP_INSERT(GGK_WORLD_95) 00672 00673 GG_ENUM_MAP_INSERT(GGK_KP0) 00674 GG_ENUM_MAP_INSERT(GGK_KP1) 00675 GG_ENUM_MAP_INSERT(GGK_KP2) 00676 GG_ENUM_MAP_INSERT(GGK_KP3) 00677 GG_ENUM_MAP_INSERT(GGK_KP4) 00678 GG_ENUM_MAP_INSERT(GGK_KP5) 00679 GG_ENUM_MAP_INSERT(GGK_KP6) 00680 GG_ENUM_MAP_INSERT(GGK_KP7) 00681 GG_ENUM_MAP_INSERT(GGK_KP8) 00682 GG_ENUM_MAP_INSERT(GGK_KP9) 00683 GG_ENUM_MAP_INSERT(GGK_KP_PERIOD) 00684 GG_ENUM_MAP_INSERT(GGK_KP_DIVIDE) 00685 GG_ENUM_MAP_INSERT(GGK_KP_MULTIPLY) 00686 GG_ENUM_MAP_INSERT(GGK_KP_MINUS) 00687 GG_ENUM_MAP_INSERT(GGK_KP_PLUS) 00688 GG_ENUM_MAP_INSERT(GGK_KP_ENTER) 00689 GG_ENUM_MAP_INSERT(GGK_KP_EQUALS) 00690 00691 GG_ENUM_MAP_INSERT(GGK_UP) 00692 GG_ENUM_MAP_INSERT(GGK_DOWN) 00693 GG_ENUM_MAP_INSERT(GGK_RIGHT) 00694 GG_ENUM_MAP_INSERT(GGK_LEFT) 00695 GG_ENUM_MAP_INSERT(GGK_INSERT) 00696 GG_ENUM_MAP_INSERT(GGK_HOME) 00697 GG_ENUM_MAP_INSERT(GGK_END) 00698 GG_ENUM_MAP_INSERT(GGK_PAGEUP) 00699 GG_ENUM_MAP_INSERT(GGK_PAGEDOWN) 00700 00701 GG_ENUM_MAP_INSERT(GGK_F1) 00702 GG_ENUM_MAP_INSERT(GGK_F2) 00703 GG_ENUM_MAP_INSERT(GGK_F3) 00704 GG_ENUM_MAP_INSERT(GGK_F4) 00705 GG_ENUM_MAP_INSERT(GGK_F5) 00706 GG_ENUM_MAP_INSERT(GGK_F6) 00707 GG_ENUM_MAP_INSERT(GGK_F7) 00708 GG_ENUM_MAP_INSERT(GGK_F8) 00709 GG_ENUM_MAP_INSERT(GGK_F9) 00710 GG_ENUM_MAP_INSERT(GGK_F10) 00711 GG_ENUM_MAP_INSERT(GGK_F11) 00712 GG_ENUM_MAP_INSERT(GGK_F12) 00713 GG_ENUM_MAP_INSERT(GGK_F13) 00714 GG_ENUM_MAP_INSERT(GGK_F14) 00715 GG_ENUM_MAP_INSERT(GGK_F15) 00716 00717 GG_ENUM_MAP_INSERT(GGK_NUMLOCK) 00718 GG_ENUM_MAP_INSERT(GGK_CAPSLOCK) 00719 GG_ENUM_MAP_INSERT(GGK_SCROLLOCK) 00720 GG_ENUM_MAP_INSERT(GGK_RSHIFT) 00721 GG_ENUM_MAP_INSERT(GGK_LSHIFT) 00722 GG_ENUM_MAP_INSERT(GGK_RCTRL) 00723 GG_ENUM_MAP_INSERT(GGK_LCTRL) 00724 GG_ENUM_MAP_INSERT(GGK_RALT) 00725 GG_ENUM_MAP_INSERT(GGK_LALT) 00726 GG_ENUM_MAP_INSERT(GGK_RMETA) 00727 GG_ENUM_MAP_INSERT(GGK_LMETA) 00728 GG_ENUM_MAP_INSERT(GGK_LSUPER) 00729 GG_ENUM_MAP_INSERT(GGK_RSUPER) 00730 GG_ENUM_MAP_INSERT(GGK_MODE) 00731 GG_ENUM_MAP_INSERT(GGK_COMPOSE) 00732 00733 GG_ENUM_MAP_INSERT(GGK_HELP) 00734 GG_ENUM_MAP_INSERT(GGK_PRINT) 00735 GG_ENUM_MAP_INSERT(GGK_SYSREQ) 00736 GG_ENUM_MAP_INSERT(GGK_BREAK) 00737 GG_ENUM_MAP_INSERT(GGK_MENU) 00738 GG_ENUM_MAP_INSERT(GGK_POWER) 00739 GG_ENUM_MAP_INSERT(GGK_EURO) 00740 GG_ENUM_MAP_INSERT(GGK_UNDO) 00741 00742 GG_ENUM_MAP_INSERT(GGK_LAST) 00743 GG_ENUM_MAP_END 00744 00745 GG_ENUM_STREAM_IN(Key) 00746 GG_ENUM_STREAM_OUT(Key) 00747 00748 } // namespace GG 00749 00750 #endif // _GG_Base_h_ 00751