aboutsummaryrefslogtreecommitdiff
path: root/sources/TZR_CycleEvents.c
diff options
context:
space:
mode:
Diffstat (limited to 'sources/TZR_CycleEvents.c')
-rw-r--r--sources/TZR_CycleEvents.c36
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))
;