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);
 |