summaryrefslogtreecommitdiff
path: root/src/events.h
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-10 11:19:00 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-10 11:19:00 +0100
commite833a9d2318625eb641cff2edca9b5ca56594ce5 (patch)
treec5b132fa35dbca3a4cb610ed5d5b428c833afee4 /src/events.h
parent6b82cee41f6d144ddb302f696806d3a4dfeee48a (diff)
adding handler method
Diffstat (limited to 'src/events.h')
-rw-r--r--src/events.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/events.h b/src/events.h
index 3bef775..c2820c5 100644
--- a/src/events.h
+++ b/src/events.h
@@ -14,15 +14,24 @@ struct event_s {
struct window_s *window;
};
+#define WAYC_EVENT_INIT(kind, window) {kind, window}
+#define WAYC_EVENT_CLOSE(window) WAYC_EVENT_INIT(EVENT_KIND_CLOSE, window)
+
+struct eventloop_s;
+
+typedef void (*event_handler_t)(struct eventloop_s *loop,
+ struct event_s *event);
+
struct eventloop_s {
+ window_id_t winid;
struct wlstate_s state;
struct vec_s<struct event_s> events;
- window_id_t winid;
struct hashmap_s<window_id_t, struct window_s *> windows;
+ event_handler_t handler;
bool running;
};
-bool wayc_eventloop_init(struct eventloop_s *loop);
+bool wayc_eventloop_init(struct eventloop_s *loop, event_handler_t handler);
void wayc_eventloop_deinit(struct eventloop_s *loop);
window_id_t wayc_eventloop_register(struct eventloop_s *loop,
struct window_s *window);