From e833a9d2318625eb641cff2edca9b5ca56594ce5 Mon Sep 17 00:00:00 2001 From: Fabrice Date: Tue, 10 Feb 2026 11:19:00 +0100 Subject: adding handler method --- src/events.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/events.cc') diff --git a/src/events.cc b/src/events.cc index 1795c85..755c034 100644 --- a/src/events.cc +++ b/src/events.cc @@ -8,15 +8,19 @@ static inline window_id_t wayc_eventloop_genid(struct eventloop_s *loop) { return loop->winid++; } -bool wayc_eventloop_init(struct eventloop_s *loop) { +bool wayc_eventloop_init(struct eventloop_s *loop, event_handler_t handler) { wayc_notnull(loop); + wayc_notnull(handler); + memset(loop, 0, sizeof(*loop)); if (!wayc_wlstate_init(&loop->state)) return false; loop->events = WAYC_VEC_INIT(struct event_s); + loop->handler = handler; loop->running = true; + wayc_hashmap_init(&loop->windows); return true; @@ -55,4 +59,8 @@ void wayc_eventloop_update(struct eventloop_s *loop) { loop->running = false; wayc_wlstate_update(&loop->state); + + struct event_s event; + while (wayc_vec_pop(&loop->events, &event)) + loop->handler(loop, &event); } -- cgit v1.2.3