diff options
Diffstat (limited to 'src/main/ui/x11')
-rw-r--r-- | src/main/ui/x11/ui.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/ui/x11/ui.c b/src/main/ui/x11/ui.c index 6e5b2f4..1c04fd4 100644 --- a/src/main/ui/x11/ui.c +++ b/src/main/ui/x11/ui.c @@ -31,6 +31,8 @@ static Window window; static GLXContext gl_context; static int close_window = 0; +void (*on_loop_event)(); + void cleanup(void); static Display * @@ -126,7 +128,13 @@ ui_on_keypress(XEvent event) } void -ui_loop(void (*draw_frame)()) +ui_set_loop_listener(void (*loop_event)()) +{ + on_loop_event = loop_event; +} + +void +ui_loop(void) { XEvent event; while (!close_window) { @@ -137,7 +145,7 @@ ui_loop(void (*draw_frame)()) ui_on_keypress(event); } - draw_frame(); + on_loop_event(); glXSwapBuffers(display, window); } |