00001 00002 // 00003 // SFML - Simple and Fast Multimedia Library 00004 // Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) 00005 // 00006 // This software is provided 'as-is', without any express or implied warranty. 00007 // In no event will the authors be held liable for any damages arising from the use of this software. 00008 // 00009 // Permission is granted to anyone to use this software for any purpose, 00010 // including commercial applications, and to alter it and redistribute it freely, 00011 // subject to the following restrictions: 00012 // 00013 // 1. The origin of this software must not be misrepresented; 00014 // you must not claim that you wrote the original software. 00015 // If you use this software in a product, an acknowledgment 00016 // in the product documentation would be appreciated but is not required. 00017 // 00018 // 2. Altered source versions must be plainly marked as such, 00019 // and must not be misrepresented as being the original software. 00020 // 00021 // 3. This notice may not be removed or altered from any source distribution. 00022 // 00024 00025 #ifndef SFML_EVENT_H 00026 #define SFML_EVENT_H 00027 00029 // Headers 00031 #include <SFML/Config.h> 00032 00033 00037 typedef enum 00038 { 00039 sfKeyA = 'a', 00040 sfKeyB = 'b', 00041 sfKeyC = 'c', 00042 sfKeyD = 'd', 00043 sfKeyE = 'e', 00044 sfKeyF = 'f', 00045 sfKeyG = 'g', 00046 sfKeyH = 'h', 00047 sfKeyI = 'i', 00048 sfKeyJ = 'j', 00049 sfKeyK = 'k', 00050 sfKeyL = 'l', 00051 sfKeyM = 'm', 00052 sfKeyN = 'n', 00053 sfKeyO = 'o', 00054 sfKeyP = 'p', 00055 sfKeyQ = 'q', 00056 sfKeyR = 'r', 00057 sfKeyS = 's', 00058 sfKeyT = 't', 00059 sfKeyU = 'u', 00060 sfKeyV = 'v', 00061 sfKeyW = 'w', 00062 sfKeyX = 'x', 00063 sfKeyY = 'y', 00064 sfKeyZ = 'z', 00065 sfKeyNum0 = '0', 00066 sfKeyNum1 = '1', 00067 sfKeyNum2 = '2', 00068 sfKeyNum3 = '3', 00069 sfKeyNum4 = '4', 00070 sfKeyNum5 = '5', 00071 sfKeyNum6 = '6', 00072 sfKeyNum7 = '7', 00073 sfKeyNum8 = '8', 00074 sfKeyNum9 = '9', 00075 sfKeyEscape = 256, 00076 sfKeyLControl, 00077 sfKeyLShift, 00078 sfKeyLAlt, 00079 sfKeyLSystem, 00080 sfKeyRControl, 00081 sfKeyRShift, 00082 sfKeyRAlt, 00083 sfKeyRSystem, 00084 sfKeyMenu, 00085 sfKeyLBracket, 00086 sfKeyRBracket, 00087 sfKeySemiColon, 00088 sfKeyComma, 00089 sfKeyPeriod, 00090 sfKeyQuote, 00091 sfKeySlash, 00092 sfKeyBackSlash, 00093 sfKeyTilde, 00094 sfKeyEqual, 00095 sfKeyDash, 00096 sfKeySpace, 00097 sfKeyReturn, 00098 sfKeyBack, 00099 sfKeyTab, 00100 sfKeyPageUp, 00101 sfKeyPageDown, 00102 sfKeyEnd, 00103 sfKeyHome, 00104 sfKeyInsert, 00105 sfKeyDelete, 00106 sfKeyAdd, 00107 sfKeySubtract, 00108 sfKeyMultiply, 00109 sfKeyDivide, 00110 sfKeyLeft, 00111 sfKeyRight, 00112 sfKeyUp, 00113 sfKeyDown, 00114 sfKeyNumpad0, 00115 sfKeyNumpad1, 00116 sfKeyNumpad2, 00117 sfKeyNumpad3, 00118 sfKeyNumpad4, 00119 sfKeyNumpad5, 00120 sfKeyNumpad6, 00121 sfKeyNumpad7, 00122 sfKeyNumpad8, 00123 sfKeyNumpad9, 00124 sfKeyF1, 00125 sfKeyF2, 00126 sfKeyF3, 00127 sfKeyF4, 00128 sfKeyF5, 00129 sfKeyF6, 00130 sfKeyF7, 00131 sfKeyF8, 00132 sfKeyF9, 00133 sfKeyF10, 00134 sfKeyF11, 00135 sfKeyF12, 00136 sfKeyF13, 00137 sfKeyF14, 00138 sfKeyF15, 00139 sfKeyPause, 00140 00141 sfKeyCount // For internal use 00142 } sfKeyCode; 00143 00144 00148 typedef enum 00149 { 00150 sfButtonLeft, 00151 sfButtonRight, 00152 sfButtonMiddle, 00153 sfButtonX1, 00154 sfButtonX2 00155 } sfMouseButton; 00156 00157 00161 typedef enum 00162 { 00163 sfJoyAxisX, 00164 sfJoyAxisY, 00165 sfJoyAxisZ, 00166 sfJoyAxisR, 00167 sfJoyAxisU, 00168 sfJoyAxisV, 00169 sfJoyAxisPOV 00170 } sfJoyAxis; 00171 00172 00176 typedef enum 00177 { 00178 sfEvtClosed, 00179 sfEvtResized, 00180 sfEvtLostFocus, 00181 sfEvtGainedFocus, 00182 sfEvtTextEntered, 00183 sfEvtKeyPressed, 00184 sfEvtKeyReleased, 00185 sfEvtMouseWheelMoved, 00186 sfEvtMouseButtonPressed, 00187 sfEvtMouseButtonReleased, 00188 sfEvtMouseMoved, 00189 sfEvtMouseEntered, 00190 sfEvtMouseLeft, 00191 sfEvtJoyButtonPressed, 00192 sfEvtJoyButtonReleased, 00193 sfEvtJoyMoved 00194 } sfEventType; 00195 00196 00200 struct sfKeyEvent 00201 { 00202 sfEventType Type; 00203 sfKeyCode Code; 00204 sfBool Alt; 00205 sfBool Control; 00206 sfBool Shift; 00207 }; 00208 00212 struct sfTextEvent 00213 { 00214 sfEventType Type; 00215 sfUint32 Unicode; 00216 }; 00217 00221 struct sfMouseMoveEvent 00222 { 00223 sfEventType Type; 00224 int X; 00225 int Y; 00226 }; 00227 00231 struct sfMouseButtonEvent 00232 { 00233 sfEventType Type; 00234 sfMouseButton Button; 00235 int X; 00236 int Y; 00237 }; 00238 00242 struct sfMouseWheelEvent 00243 { 00244 sfEventType Type; 00245 int Delta; 00246 }; 00247 00251 struct sfJoyMoveEvent 00252 { 00253 sfEventType Type; 00254 unsigned int JoystickId; 00255 sfJoyAxis Axis; 00256 float Position; 00257 }; 00258 00262 struct sfJoyButtonEvent 00263 { 00264 sfEventType Type; 00265 unsigned int JoystickId; 00266 unsigned int Button; 00267 }; 00268 00272 struct sfSizeEvent 00273 { 00274 sfEventType Type; 00275 unsigned int Width; 00276 unsigned int Height; 00277 }; 00278 00279 00283 typedef union 00284 { 00286 // Member data 00288 sfEventType Type; 00289 struct sfKeyEvent Key; 00290 struct sfTextEvent Text; 00291 struct sfMouseMoveEvent MouseMove; 00292 struct sfMouseButtonEvent MouseButton; 00293 struct sfMouseWheelEvent MouseWheel; 00294 struct sfJoyMoveEvent JoyMove; 00295 struct sfJoyButtonEvent JoyButton; 00296 struct sfSizeEvent Size; 00297 } sfEvent; 00298 00299 00300 #endif // SFML_EVENT_H
:: Copyright © 2007-2008 Laurent Gomila, all rights reserved :: Documentation generated by doxygen 1.5.2 ::