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