diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 17:26:32 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 17:26:32 +0100 |
| commit | ab34c29a093e566fab7b4efc28561aa7dcdc789e (patch) | |
| tree | 99e0ee578cfdd6902ad519b2120d52579953aa85 /src/wayclock.cc | |
| parent | 394cbd934f5771907aeb07480ecb19b9fe618bbd (diff) | |
fixing types
Diffstat (limited to 'src/wayclock.cc')
| -rw-r--r-- | src/wayclock.cc | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/src/wayclock.cc b/src/wayclock.cc index ac6a796..889faef 100644 --- a/src/wayclock.cc +++ b/src/wayclock.cc @@ -1,5 +1,4 @@ -#include <cstdio> #include "events.h" #include "graphics.h" @@ -10,17 +9,22 @@ #define WAYC_APP_WIDTH 1280 #define WAYC_APP_HEIGHT 1080 -void frame(struct window_s* window, struct eventloop_s* loop) { +void wayc_frame(struct renderer_s* renderer, struct window_s* window, + struct eventloop_s* loop) { wayc_notnull(window); wayc_notnull(loop); + wayc_notnull(renderer); + wayc_renderer_swap(renderer); wayc_window_redraw(window, loop); } -void handle(struct eventloop_s* loop, struct event_s* event) { +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 window_s* window = event->window; union event_data_u data = event->data; @@ -30,10 +34,10 @@ void handle(struct eventloop_s* loop, struct event_s* event) { break; case EVENT_KIND_RESIZE: { struct event_resize_s resize = data.resize; - fprintf(stderr, "Window resized: %d x %d\n", resize.width, resize.height); + wayc_renderer_resize(renderer, resize.width, resize.height); } break; case EVENT_KIND_FRAME: - frame(window, loop); + wayc_frame(renderer, window, loop); break; default: break; @@ -42,7 +46,7 @@ void handle(struct eventloop_s* loop, struct event_s* event) { int main() { struct eventloop_s loop; - if (wayc_eventloop_init(&loop, handle) != EVENTLOOP_ERROR_NONE) + if (wayc_eventloop_init(&loop, wayc_handle) != EVENTLOOP_ERROR_NONE) wayc_panic("Failed to initialize event loop"); struct graphics_s graphics; @@ -59,8 +63,20 @@ int main() { window_id_t winid = wayc_eventloop_register(&loop, &window); window.id = winid; - while (wayc_eventloop_running(&loop)) wayc_eventloop_update(&loop); + struct renderer_s renderer; + if (wayc_renderer_init(&renderer, &window, &graphics, WAYC_APP_WIDTH, + WAYC_APP_HEIGHT) != RENDERER_ERROR_NONE) { + wayc_window_deinit(&window); + wayc_graphics_deinit(&graphics); + wayc_eventloop_deinit(&loop); + wayc_panic("Failed to initialize renderer"); + } + + wayc_renderer_use(&renderer); + while (wayc_eventloop_running(&loop)) + wayc_eventloop_update(&loop, (u8*)&renderer); + wayc_renderer_deinit(&renderer); wayc_window_deinit(&window); wayc_graphics_deinit(&graphics); wayc_eventloop_deinit(&loop); |
