diff options
author | 2025-05-17 14:10:39 +0200 | |
---|---|---|
committer | 2025-05-17 14:10:39 +0200 | |
commit | 268790307bde4859ac6ee5ac6c3d19ada9ed5a11 (patch) | |
tree | d0f0a0574cf33526668307bafc269a1a3d7df6e6 /src/main/ui/x11/ui.c | |
parent | a3027cce6f5f7753147edc49aa4403a013338c3d (diff) | |
download | tris-268790307bde4859ac6ee5ac6c3d19ada9ed5a11.tar.gz tris-268790307bde4859ac6ee5ac6c3d19ada9ed5a11.zip |
Add the maanagement of mouse press event
Diffstat (limited to 'src/main/ui/x11/ui.c')
-rw-r--r-- | src/main/ui/x11/ui.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/ui/x11/ui.c b/src/main/ui/x11/ui.c index fc59e4e..69bd5be 100644 --- a/src/main/ui/x11/ui.c +++ b/src/main/ui/x11/ui.c @@ -33,6 +33,7 @@ static int close_window = 0; void (*on_loop_event)(); void (*on_mouse_press_event)(); +void (*on_generic_event)(int); void cleanup(void); @@ -143,6 +144,14 @@ ui_on_mouse_release(XEvent event) if (event.type != ButtonRelease) return; } +static void +ui_on_generic_event(XEvent event) +{ + if (on_generic_event != NULL) { + on_generic_event(event.type); + } +} + void ui_set_loop_listener(void (*loop_event)()) { @@ -156,12 +165,19 @@ ui_set_mouse_press_listener(void (*mouse_press_event)()) } void +ui_set_generic_listener(void (*generic_event)(int type)) +{ + on_generic_event = generic_event; +} + +void ui_loop(void) { XEvent event; while (!close_window) { while (XPending(display)) { XNextEvent(display, &event); + ui_on_generic_event(event); ui_on_expose(event); ui_on_resize(event); ui_on_keypress(event); |