diff options
author | 2025-05-18 11:35:29 +0200 | |
---|---|---|
committer | 2025-05-18 11:35:29 +0200 | |
commit | 77a456b65b3d21213db9a5c88076f511b753e07c (patch) | |
tree | 1830d08ee89a05a94e7a690d86425cd232d2cd6a | |
parent | 4b4f73e7e3d55b8217bbbc2b51c0e147614be192 (diff) | |
download | tris-77a456b65b3d21213db9a5c88076f511b753e07c.tar.gz tris-77a456b65b3d21213db9a5c88076f511b753e07c.zip |
Add the mouse button pressed in the graphics engine
-rw-r--r-- | src/main/engine/engine.c | 10 | ||||
-rw-r--r-- | src/main/engine/engine.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/main/engine/engine.c b/src/main/engine/engine.c index e0da00c..e619dc7 100644 --- a/src/main/engine/engine.c +++ b/src/main/engine/engine.c @@ -46,6 +46,7 @@ static int frames; static time_t end; void (*dispatch_ui_event)(int); +void (*on_mouse_pressed)(); void engine_init(int w, int h) @@ -108,6 +109,12 @@ engine_loop(void (*draw_frame)()) ui_loop(); } +void +engine_on_mouse_pressed(void (*event)()) +{ + on_mouse_pressed = event; +} + static void engine_dispatch_ui_events(int type) { @@ -116,6 +123,9 @@ 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: diff --git a/src/main/engine/engine.h b/src/main/engine/engine.h index fc4c5b9..db555fc 100644 --- a/src/main/engine/engine.h +++ b/src/main/engine/engine.h @@ -28,5 +28,6 @@ void engine_init(int width, int height); void engine_draw_line(int x1, int y1, int x2, int y2); void engine_loop(void (*draw_frame)()); void engine_input(void (*f_input)(int engine_input)); +void engine_on_mouse_pressed(void (*event)()); #endif /* __ENGINE_H__ */ |