summaryrefslogtreecommitdiff
path: root/src/main/engine/engine.c
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2025-05-20 20:23:59 +0200
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2025-05-20 20:25:31 +0200
commit693d830f69b9a4ce6f956f4a688f41180156473e (patch)
treec15764d1e95291b32ca9af41daf4dd41290544a7 /src/main/engine/engine.c
parent618402caa489751d61643e6839607fd1546ad635 (diff)
downloadtris-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.c16
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: