summaryrefslogtreecommitdiff
path: root/src/events.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/events.cc')
-rw-r--r--src/events.cc18
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);
+}