#pragma once #include #include 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);