diff options
Diffstat (limited to 'src/events.h')
| -rw-r--r-- | src/events.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/events.h b/src/events.h index c2820c5..db66571 100644 --- a/src/events.h +++ b/src/events.h @@ -6,16 +6,26 @@ #include "wlstate.h" enum event_kind_e { + EVENT_KIND_RESIZE, EVENT_KIND_CLOSE, }; +struct event_kind_resize_s { + i32 width, height; +}; + struct event_s { enum event_kind_e kind; struct window_s *window; + union { + struct event_kind_resize_s resize; + }; }; -#define WAYC_EVENT_INIT(kind, window) {kind, window} -#define WAYC_EVENT_CLOSE(window) WAYC_EVENT_INIT(EVENT_KIND_CLOSE, window) +#define WAYC_EVENT_INIT(kind, window, ...) {kind, window, __VA_ARGS__} +#define WAYC_EVENT_CLOSE(window) WAYC_EVENT_INIT(EVENT_KIND_CLOSE, window, {}) +#define WAYC_EVENT_RESIZE(window, width, height) \ + WAYC_EVENT_INIT(EVENT_KIND_RESIZE, window, {{width, height}}) struct eventloop_s; |
