summaryrefslogtreecommitdiff
path: root/src/wayclock.cc
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-10 12:43:12 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-10 12:43:12 +0100
commit16bedd8b739808193b527f173c0ae2053926b736 (patch)
treeb37a60612db1ba717a6262df79700fd2d7e25585 /src/wayclock.cc
parent03ef673d02aa11ec187264d571aeface8cef1482 (diff)
redraw request
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 369657e..17d7123 100644
--- a/src/wayclock.cc
+++ b/src/wayclock.cc
@@ -1,12 +1,33 @@
#include "events.h"
#include "window.h"
+#include <cstdio>
#define WAYC_APP_NAME "Wayclock"
+void frame(struct window_s *window, struct eventloop_s *loop) {
+ wayc_notnull(window);
+ wayc_notnull(loop);
+
+ wayc_window_redraw(window, loop);
+}
+
void handle(struct eventloop_s *loop, struct event_s *event) {
+ wayc_notnull(loop);
+ wayc_notnull(event);
+
+ struct window_s *window = event->window;
+ union event_data_u data = event->data;
+
switch (event->kind) {
case EVENT_KIND_CLOSE:
- wayc_eventloop_unregister(loop, event->window->id);
+ wayc_eventloop_unregister(loop, window->id);
+ break;
+ case EVENT_KIND_RESIZE:
+ fprintf(stderr, "Window resized: %d x %d\n", data.resize.width,
+ data.resize.height);
+ break;
+ case EVENT_KIND_FRAME:
+ frame(window, loop);
break;
default:
break;
@@ -27,9 +48,8 @@ int main() {
window_id_t winid = wayc_eventloop_register(&loop, &window);
window.id = winid;
- while (wayc_eventloop_running(&loop)) {
+ while (wayc_eventloop_running(&loop))
wayc_eventloop_update(&loop);
- }
wayc_window_deinit(&window);
wayc_eventloop_deinit(&loop);