#pragma once #include <stdint.h> #include <input/input.h> typedef enum { GuiMessageTypeRedraw = 0x00, GuiMessageTypeInput = 0x01, } GuiMessageType; typedef struct { GuiMessageType type; InputEvent input; void* data; } GuiMessage; typedef struct GuiEvent GuiEvent; GuiEvent* gui_event_alloc(); void gui_event_free(GuiEvent* gui_event); void gui_event_lock(GuiEvent* gui_event); void gui_event_unlock(GuiEvent* gui_event); void gui_event_messsage_send(GuiEvent* gui_event, GuiMessage* message); GuiMessage gui_event_message_next(GuiEvent* gui_event);