summaryrefslogtreecommitdiff
path: root/src/wayclock.cc
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-11 09:55:47 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-11 09:55:47 +0100
commit9f6a7d71b179b72a12790a9d363789240003e20a (patch)
treee5dd7193cf60421ce71964ada611613189bb3fdc /src/wayclock.cc
parent228173ca185d4da22dce3318e07bc6ac65dfe32a (diff)
integrate freetype and load it
Diffstat (limited to 'src/wayclock.cc')
-rw-r--r--src/wayclock.cc26
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