summaryrefslogtreecommitdiff
path: root/src/wayclock.cc
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-10 17:26:32 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-10 17:26:32 +0100
commitab34c29a093e566fab7b4efc28561aa7dcdc789e (patch)
tree99e0ee578cfdd6902ad519b2120d52579953aa85 /src/wayclock.cc
parent394cbd934f5771907aeb07480ecb19b9fe618bbd (diff)
fixing types
Diffstat (limited to 'src/wayclock.cc')
-rw-r--r--src/wayclock.cc30
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);