From 97a214db20684ef192478799b9ae050beebdfe60 Mon Sep 17 00:00:00 2001 From: Fabrice Date: Tue, 10 Feb 2026 10:26:50 +0100 Subject: fork --- src/events.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/events.cc') diff --git a/src/events.cc b/src/events.cc index 6a3190c..edc47db 100644 --- a/src/events.cc +++ b/src/events.cc @@ -3,6 +3,11 @@ #include "vec.h" #include +static inline window_id_t wayc_eventloop_genid(struct eventloop_s *loop) { + wayc_notnull(loop); + return loop->winid++; +} + bool wayc_eventloop_init(struct eventloop_s *loop) { wayc_notnull(loop); memset(loop, 0, sizeof(*loop)); @@ -22,3 +27,18 @@ void wayc_eventloop_deinit(struct eventloop_s *loop) { wayc_wlstate_deinit(&loop->state); wayc_vec_deinit(&loop->events); } + +window_id_t wayc_eventloop_register(struct eventloop_s *loop, + struct window_s *window) { + wayc_notnull(loop); + wayc_notnull(window); + + window_id_t winid = wayc_eventloop_genid(loop); + wayc_hashmap_insert(&loop->windows, &winid, &window); + return winid; +} + +void wayc_eventloop_unregister(struct eventloop_s *loop, window_id_t winid) { + wayc_notnull(loop); + wayc_hashmap_remove(&loop->windows, &winid); +} \ No newline at end of file -- cgit v1.2.3