diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 10:26:50 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 10:26:50 +0100 |
| commit | 97a214db20684ef192478799b9ae050beebdfe60 (patch) | |
| tree | b24c04c19b2b0a68ddc0de50565ed255a8b31d1f /src/events.cc | |
| parent | 5be69e64cfd17b20c0c7fef3b3e2983cf69e8645 (diff) | |
fork
Diffstat (limited to 'src/events.cc')
| -rw-r--r-- | src/events.cc | 20 |
1 files changed, 20 insertions, 0 deletions
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 <cstring> +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 |
