summaryrefslogtreecommitdiff
path: root/src/main/engine/ui/x11/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/engine/ui/x11/ui.c')
-rw-r--r--src/main/engine/ui/x11/ui.c13
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;
}