From a5c52ebb7659fa47c286d5f68cfaa5297d28614b Mon Sep 17 00:00:00 2001 From: Fierelier Date: Sun, 30 Jun 2024 22:07:10 +0200 Subject: [PATCH] Implement unigi_event_get() --- src/events.h | 25 +++++++++++++++++++++++++ src/main.h | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/events.h diff --git a/src/events.h b/src/events.h new file mode 100644 index 0000000..971a29d --- /dev/null +++ b/src/events.h @@ -0,0 +1,25 @@ +void unigi_event_get(unigi_type_event * event) { + SDL_Event platform_event; + if (SDL_PollEvent(&platform_event)) { + if ( + platform_event.type == SDL_KEYDOWN || + platform_event.type == SDL_KEYUP + ) { + event -> type = unigi_enum_event_input_keyboard; + event -> data.input_keyboard.device = 0; + event -> data.input_keyboard.button = platform_event.key.keysym.scancode; + if (platform_event.type == SDL_KEYDOWN) { + event -> data.input_keyboard.down = 1; + } else { + event -> data.input_keyboard.down = 0; + } + return; + } + + event -> type = unigi_enum_event_unknown; + return; + } else { + event -> type = unigi_enum_event_none; + return; + } +} diff --git a/src/main.h b/src/main.h index e8af719..2c6fc01 100644 --- a/src/main.h +++ b/src/main.h @@ -1,7 +1,7 @@ #include #include #include "graphics.h" -#include "input.h" +#include "events.h" unigi_type_error unigi_init() { return 0;