diff options
Diffstat (limited to 'sources/TZR_CycleEvents.c')
-rw-r--r-- | sources/TZR_CycleEvents.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/sources/TZR_CycleEvents.c b/sources/TZR_CycleEvents.c index 44e7ca5..b30ffe5 100644 --- a/sources/TZR_CycleEvents.c +++ b/sources/TZR_CycleEvents.c @@ -4,24 +4,30 @@ #include <SDL2/SDL_scancode.h> void +next_state(TZR_KeyState *keystate) +{ + switch (*keystate) { + case TZR_KEYSTATE_RELEASE: + case TZR_KEYSTATE_UP: + *keystate = TZR_KEYSTATE_UP; + break; + case TZR_KEYSTATE_PRESS: + case TZR_KEYSTATE_DOWN: + *keystate = TZR_KEYSTATE_DOWN; + break; + default: + break; + } +} + +void TZR_CycleEvents(void) { TZR_ResourcesWatch(); - for (int i = 0; i < SDL_NUM_SCANCODES; i++) { - TZR_KeyState *const keystate = &___tzr_keystates[i]; - switch (*keystate) { - case TZR_KEYSTATE_RELEASE: - case TZR_KEYSTATE_UP: - *keystate = TZR_KEYSTATE_UP; - break; - case TZR_KEYSTATE_PRESS: - case TZR_KEYSTATE_DOWN: - *keystate = TZR_KEYSTATE_DOWN; - break; - default: - break; - } - } + for (int i = 0; i < SDL_NUM_SCANCODES; i++) + next_state(&___tzr_keystates[i]); + for (int i = 0; i < 256; i++) + next_state(&___tzr_mousestates[i]); TZR_Event e; while (TZR_PollEvent(&e)) ; |