jes/src/gui/Gui.h

41 lines
710 B
C

#ifndef GUI_H
#define GUI_H
#include <stdint.h>
#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