LDKCustomEvent
typedef struct{
LDKEventType type;
u32 sender;
u32 tag;
void *data;
}LDKCustomEvent;
LDKEvent
typedef struct{
LDKWindow window;
LDKEventType type;
union{LDKTextEvent text_event;LDKWindowEvent window_event;LDKKeyboardEvent keyboard_event;LDKMouseEvent mouse_event;LDKFrameEvent frame_event;LDKCustomEvent custom_event;};
}LDKEvent;
LDKEventType
typedef enum{
LDK_EVENT_TYPE_NONE=0,
LDK_EVENT_TYPE_GAME=1,
LDK_EVENT_TYPE_WINDOW=1<<1,
LDK_EVENT_TYPE_TEXT=1<<2,
LDK_EVENT_TYPE_APPLICATION=1<<3,
LDK_EVENT_TYPE_KEYBOARD=1<<4,
LDK_EVENT_TYPE_MOUSE_MOVE=1<<5,
LDK_EVENT_TYPE_MOUSE_BUTTON=1<<6,
LDK_EVENT_TYPE_MOUSE_WHEEL=1<<7,
LDK_EVENT_TYPE_FRAME=1<<8,
LDK_EVENT_TYPE_CUSTOM=1<<9,
LDK_EVENT_TYPE_ANY=0xFFFFFFFF,
LDK_KEYBOARD_EVENT_KEY_DOWN=1,
LDK_KEYBOARD_EVENT_KEY_UP=2,
LDK_KEYBOARD_EVENT_KEY_HOLD=3,
LDK_TEXT_EVENT_CHARACTER_INPUT=4,
LDK_TEXT_EVENT_BACKSPACE=5,
LDK_TEXT_EVENT_RETURN=6,
LDK_TEXT_EVENT_DEL=7,
LDK_MOUSE_EVENT_MOVE=7,
LDK_MOUSE_EVENT_BUTTON_DOWN=8,
LDK_MOUSE_EVENT_BUTTON_UP=9,
LDK_MOUSE_EVENT_WHEEL_FORWARD=10,
LDK_MOUSE_EVENT_WHEEL_BACKWARD=11,
LDK_WINDOW_EVENT_RESIZED=14,
LDK_WINDOW_EVENT_CLOSE=15,
LDK_WINDOW_EVENT_ACTIVATE=16,
LDK_WINDOW_EVENT_DEACTIVATE=17,
LDK_WINDOW_EVENT_MINIMIZED=18,
LDK_WINDOW_EVENT_MAXIMIZED=19,
LDK_FRAME_EVENT_UPDATE_BEFORE=20,
LDK_FRAME_EVENT_UPDATE_AFTER=21,
LDK_FRAME_EVENT_SUBMIT_BEFORE=22,
LDK_FRAME_EVENT_SUBMIT_AFTER=23,
LDK_FRAME_EVENT_RENDER_BEFORE=24,
LDK_FRAME_EVENT_RENDER_AFTER=25
}LDKEventType;
LDKFrameEvent
typedef struct{
LDKEventType type;
u64 ticks;
float delta_time;
}LDKFrameEvent;
LDKKeyboardEvent
typedef struct{
LDKEventType type;
u32 keyCode;
bool ctrl_is_down;
bool shift_is_down;
bool alt_is_down;
}LDKKeyboardEvent;
LDKMouseEvent
typedef struct{
LDKEventType type;
i32 cursorX;
i32 cursorY;
i32 xRel;
i32 yRel;
union{i32 wheel_delta;i32 mouse_button;};
}LDKMouseEvent;
LDKTextEvent
typedef struct{
LDKEventType type;
u32 character;
}LDKTextEvent;
LDKWindowEvent
typedef struct{
LDKEventType type;
u32 width;
u32 height;
}LDKWindowEvent;