00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_EVENT_H
00026 #define SFML_EVENT_H
00027
00029
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
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
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