30 lines
579 B
C
30 lines
579 B
C
#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);
|