diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 10:32:20 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 10:32:20 +0100 |
| commit | 22a45a63c1738e68c50eebe704fa7158f7a049cd (patch) | |
| tree | 3c505474d72c552fa58364d6e803420ba25a9098 /src/events.cc | |
| parent | 17cd02e7a535930db9bbc6ed8084830f50f7be84 (diff) | |
eventloop update and looping
Diffstat (limited to 'src/events.cc')
| -rw-r--r-- | src/events.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/events.cc b/src/events.cc index edc47db..aed9de3 100644 --- a/src/events.cc +++ b/src/events.cc @@ -1,5 +1,5 @@ #include "events.h" -#include "hashm.h" +#include "hash.h" #include "vec.h" #include <cstring> @@ -16,6 +16,7 @@ bool wayc_eventloop_init(struct eventloop_s *loop) { return false; loop->events = WAYC_VEC_INIT(struct event_s); + loop->running = true; wayc_hashmap_init(&loop->windows); return true; @@ -41,4 +42,17 @@ window_id_t wayc_eventloop_register(struct eventloop_s *loop, 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 +} + +bool wayc_eventloop_running(struct eventloop_s *loop) { + wayc_notnull(loop); + return loop->running; +} + +void wayc_eventloop_upate(struct eventloop_s *loop) { + wayc_notnull(loop); + if (wayc_hashmap_count(&loop->windows) == 0) + loop->running = false; + + wayc_wlstate_update(&loop->state); +} |
