diff options
Diffstat (limited to 'src/main/engine/ui/x11/ui.c')
-rw-r--r-- | src/main/engine/ui/x11/ui.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/engine/ui/x11/ui.c b/src/main/engine/ui/x11/ui.c index 98a94b1..312bdec 100644 --- a/src/main/engine/ui/x11/ui.c +++ b/src/main/engine/ui/x11/ui.c @@ -34,7 +34,7 @@ static int close_window = 0; void (*on_loop_event)(); void (*on_expose_event)(); -void (*on_resize_event)(); +void (*on_resize_event)(UIEventResize *); void (*on_mouse_press_event)(); void (*on_generic_event)(int); @@ -137,7 +137,14 @@ ui_on_resize(XEvent event) { if (event.type != ConfigureNotify) return; if (on_resize_event != NULL) { - on_resize_event(); + UIEventResize *er = malloc(sizeof(UIEventResize)); + if (er == NULL) { + log_error("Error allocating UIEventResize"); + exit(EXIT_FAILURE); + } + er->width = event.xconfigure.width; + er->height = event.xconfigure.height; + on_resize_event(er); } glViewport(0, 0, event.xconfigure.width, event.xconfigure.height); } @@ -185,7 +192,7 @@ ui_set_expose_listener(void (*expose_event)()) } void -ui_set_resize_listener(void (*resize_event)()) +ui_set_resize_listener(void (*resize_event)(UIEventResize *)) { on_resize_event = resize_event; } |