diff options
Diffstat (limited to 'src/main/engine/ui/ui.h')
-rw-r--r-- | src/main/engine/ui/ui.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/engine/ui/ui.h b/src/main/engine/ui/ui.h index e1c4283..53040ed 100644 --- a/src/main/engine/ui/ui.h +++ b/src/main/engine/ui/ui.h @@ -22,11 +22,17 @@ #include "types.h" +typedef struct LoopEvent { + void (*on_loop_event)(void *data); + void *data; +} LoopEvent; + typedef struct UI { int width; int height; void *extra; int close_window; + LoopEvent *loop_event; } UI; UI *ui_new(int w, int h); @@ -34,8 +40,8 @@ void ui_loop(UI *ui); void ui_set_title(UI *ui, const char *title); void ui_set_expose_listener(void (*expose_event)()); void ui_set_resize_listener(void (*resize_event)(UIEventResize *)); -void ui_set_loop_listener(void (*event)()); -void ui_set_mouse_press_listener(void (*event)(UIMouseButtonPressed *)); +void ui_set_loop_listener(UI *ui, void (*event)(void *data), void *data); +void ui_set_mouse_press_listener(void (*event)(UIMouseButtonPressed *), void *data); void ui_set_generic_listener(void (*generic_event)(int type)); #endif /* __UI_H__ */ |