diff options
Diffstat (limited to 'src/wayclock.cc')
| -rw-r--r-- | src/wayclock.cc | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/wayclock.cc b/src/wayclock.cc index d381641..3911ca0 100644 --- a/src/wayclock.cc +++ b/src/wayclock.cc @@ -3,6 +3,7 @@ #include "events.h" #include "glad.h" #include "graphics.h" +#include "text.h" #include "utils.h" #include "window.h" @@ -10,6 +11,11 @@ #define WAYC_APP_WIDTH 1280 #define WAYC_APP_HEIGHT 1080 +struct app_s { + struct renderer_s* renderer; + struct font_context_s* fctx; +}; + void wayc_frame(struct renderer_s* renderer, struct window_s* window, struct eventloop_s* loop) { wayc_notnull(window); @@ -26,7 +32,8 @@ void wayc_handle(u8* user, struct eventloop_s* loop, struct event_s* event) { wayc_notnull(loop); wayc_notnull(event); - struct renderer_s* renderer = (struct renderer_s*)user; + struct app_s* app = (struct app_s*)user; + struct renderer_s* renderer = app->renderer; struct window_s* window = event->window; union event_data_u data = event->data; @@ -48,9 +55,15 @@ void wayc_handle(u8* user, struct eventloop_s* loop, struct event_s* event) { } int main() { + struct font_context_s fctx; + if (wayc_font_context_init(&fctx) != FONT_CONTEXT_ERROR_NONE) + wayc_panic("Failed to initialize font context"); + struct eventloop_s loop; - if (wayc_eventloop_init(&loop, wayc_handle) != EVENTLOOP_ERROR_NONE) + if (wayc_eventloop_init(&loop, wayc_handle) != EVENTLOOP_ERROR_NONE) { + wayc_font_context_deinit(&fctx); wayc_panic("Failed to initialize event loop"); + } struct graphics_s graphics; if (wayc_graphics_init(&graphics, &loop.state) != GRAPHICS_ERROR_NONE) @@ -78,8 +91,13 @@ int main() { wayc_renderer_use(&renderer); wayc_window_redraw(&window, &loop); + struct app_s app = { + &renderer, + &fctx, + }; + while (wayc_eventloop_running(&loop)) { - wayc_eventloop_update(&loop, (u8*)&renderer); + wayc_eventloop_update(&loop, (u8*)&app); wayc_window_redraw(&window, &loop); } @@ -87,5 +105,7 @@ int main() { wayc_window_deinit(&window); wayc_graphics_deinit(&graphics); wayc_eventloop_deinit(&loop); + + wayc_font_context_deinit(&fctx); return 0; }
\ No newline at end of file |
