#ifndef GUI_H #define GUI_H #include #define GUI_EVENT_CLOSE_WINDOW 1u #define GUI_EVENT_EXPOSE 2u #define GUI_EVENT_KEY_PRESS 3u #define GUI_EVENT_KEY_RELEASE 4u #define GUI_EVENT_BUTTON_PRESS 5u #define GUI_EVENT_BUTTON_RELEASE 6u typedef struct { uint32_t key; uint8_t mods; } Gui_KeyEvent; typedef struct { uint8_t button; } Gui_ButtonEvent; typedef struct { uint8_t type; union { Gui_KeyEvent key; Gui_ButtonEvent button; }; } Gui_Event; bool Gui_Init(); void * Gui_CreateWindow(); void Gui_SwapBuffers(void * window); void Gui_CloseWindow(void * window); void Gui_WaitForEvent(Gui_Event * event); #endif