diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 11:19:00 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 11:19:00 +0100 |
| commit | e833a9d2318625eb641cff2edca9b5ca56594ce5 (patch) | |
| tree | c5b132fa35dbca3a4cb610ed5d5b428c833afee4 /src/events.h | |
| parent | 6b82cee41f6d144ddb302f696806d3a4dfeee48a (diff) | |
adding handler method
Diffstat (limited to 'src/events.h')
| -rw-r--r-- | src/events.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/events.h b/src/events.h index 3bef775..c2820c5 100644 --- a/src/events.h +++ b/src/events.h @@ -14,15 +14,24 @@ struct event_s { struct window_s *window; }; +#define WAYC_EVENT_INIT(kind, window) {kind, window} +#define WAYC_EVENT_CLOSE(window) WAYC_EVENT_INIT(EVENT_KIND_CLOSE, window) + +struct eventloop_s; + +typedef void (*event_handler_t)(struct eventloop_s *loop, + struct event_s *event); + struct eventloop_s { + window_id_t winid; struct wlstate_s state; struct vec_s<struct event_s> events; - window_id_t winid; struct hashmap_s<window_id_t, struct window_s *> windows; + event_handler_t handler; bool running; }; -bool wayc_eventloop_init(struct eventloop_s *loop); +bool wayc_eventloop_init(struct eventloop_s *loop, event_handler_t handler); void wayc_eventloop_deinit(struct eventloop_s *loop); window_id_t wayc_eventloop_register(struct eventloop_s *loop, struct window_s *window); |
