00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SDLMM_EVENT_H
00022 #define SDLMM_EVENT_H
00023 #include <cstring>
00024
00025 namespace SDLmm {
00027
00032 class DECLSPEC Event {
00033 public:
00035
00041 SDL_Event me;
00042
00044
00052 bool Poll(bool fetch = true);
00053
00055
00064 bool Wait(bool fetch = true);
00065
00067
00077 bool Push();
00078
00080
00081
00082
00094 static void PumpEvents();
00095
00098
00126 static void SetEventFilter(SDL_EventFilter filter);
00127
00129
00141 static SDL_EventFilter GetEventFilter();
00142
00144
00166 static Uint8 EventState(Uint8 type, int state);
00167
00169
00178 static void HandleEvents(EventHandler &handler);
00179
00181
00191 static void HandleEvent(EventHandler &handler, const SDL_Event& event);
00192
00194
00196
00197
00199
00211 static Uint8 *GetKeyState(int &numkeys);
00212
00214
00227 static Uint8 *GetKeyState();
00228
00230
00252 static SDLMod GetModState();
00253
00255
00265 static void SetModState(SDLMod modstate);
00266
00268
00272 static char *GetKeyName(SDLKey key);
00273
00275
00290 static bool EnableUNICODE(bool enable=true) { return SDL_EnableUNICODE(enable) != 0; }
00291
00293
00298 static bool DisableUNICODE() { return SDL_EnableUNICODE(0) != 0; }
00299
00301
00307 static bool QueryUNICODE() { return SDL_EnableUNICODE(-1) != 0; }
00308
00310
00325 static bool EnableKeyRepeat(int delay = SDL_DEFAULT_REPEAT_DELAY,
00326 int interval = SDL_DEFAULT_REPEAT_DELAY);
00328
00330
00331
00332
00342 static Uint8 GetMouseState(int *x = 0, int *y = 0);
00343
00345
00356 static Uint8 GetRelativeMouseState(int *x, int *y);
00358
00360
00361
00363
00376 static Uint8 GetAppState();
00377
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392 static int JoystickEventState(int state);
00393
00395 };
00396 }
00397
00398 #endif // SDLMM_EVENT_H
00399