From a20d8950d88bf89b2f9b8b02695fc464b2a13d01 Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Mon, 19 May 2025 15:49:37 +0200 Subject: Add the UI resize listener --- src/main/engine/ui/ui.h | 1 + src/main/engine/ui/x11/ui.c | 10 ++++++++++ 2 files changed, 11 insertions(+) (limited to 'src/main/engine') diff --git a/src/main/engine/ui/ui.h b/src/main/engine/ui/ui.h index 95604d7..2335a4b 100644 --- a/src/main/engine/ui/ui.h +++ b/src/main/engine/ui/ui.h @@ -24,6 +24,7 @@ void ui_init(int w, int h); void ui_loop(void); void ui_set_title(const char *title); void ui_set_expose_listener(void (*expose_event)()); +void ui_set_resize_listener(void (*resize_event)()); void ui_set_loop_listener(void (*event)()); void ui_set_mouse_press_listener(void (*event)()); void ui_set_generic_listener(void (*generic_event)(int type)); diff --git a/src/main/engine/ui/x11/ui.c b/src/main/engine/ui/x11/ui.c index 412f67d..2d1a046 100644 --- a/src/main/engine/ui/x11/ui.c +++ b/src/main/engine/ui/x11/ui.c @@ -33,6 +33,7 @@ static int close_window = 0; void (*on_loop_event)(); void (*on_expose_event)(); +void (*on_resize_event)(); void (*on_mouse_press_event)(); void (*on_generic_event)(int); @@ -123,6 +124,9 @@ static void ui_on_resize(XEvent event) { if (event.type != ConfigureNotify) return; + if (on_resize_event != NULL) { + on_resize_event(); + } glViewport(0, 0, event.xconfigure.width, event.xconfigure.height); } @@ -168,6 +172,12 @@ ui_set_expose_listener(void (*expose_event)()) on_expose_event = expose_event; } +void +ui_set_resize_listener(void (*resize_event)()) +{ + on_resize_event = resize_event; +} + void ui_set_mouse_press_listener(void (*mouse_press_event)()) { -- cgit v1.2.3