diff options
author | 2025-05-20 20:23:59 +0200 | |
---|---|---|
committer | 2025-05-20 20:25:31 +0200 | |
commit | 693d830f69b9a4ce6f956f4a688f41180156473e (patch) | |
tree | c15764d1e95291b32ca9af41daf4dd41290544a7 /src/main/engine/engine.c | |
parent | 618402caa489751d61643e6839607fd1546ad635 (diff) | |
download | tris-693d830f69b9a4ce6f956f4a688f41180156473e.tar.gz tris-693d830f69b9a4ce6f956f4a688f41180156473e.zip |
Add logic to get coordinates of the mouse button click
Diffstat (limited to 'src/main/engine/engine.c')
-rw-r--r-- | src/main/engine/engine.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main/engine/engine.c b/src/main/engine/engine.c index 048c618..443ee93 100644 --- a/src/main/engine/engine.c +++ b/src/main/engine/engine.c @@ -59,7 +59,7 @@ static int frames; static time_t end; void (*dispatch_ui_event)(int); -void (*on_mouse_pressed)(); +void (*on_mouse_button_pressed)(int x, int y); void engine_init(int w, int h) @@ -236,9 +236,16 @@ engine_loop(void) } void -engine_on_mouse_pressed(void (*event)()) +mouse_button_press_event(UIMouseButtonPressed *mbp) { - on_mouse_pressed = event; + on_mouse_button_pressed(mbp->x, mbp->y); +} + +void +engine_set_mouse_button_listener(void (*event)(int x, int y)) +{ + on_mouse_button_pressed = event; + ui_set_mouse_press_listener(mouse_button_press_event); } static void @@ -249,9 +256,6 @@ engine_dispatch_ui_events(int type) #ifdef X11 case ButtonPress: event_type = ENGINE_MOUSE_PRESSED; - if (on_mouse_pressed != NULL) { - on_mouse_pressed(); - } break; #endif default: |