From 0d62b836f33bd7029e769ffe1a823d7fcec0a8ff Mon Sep 17 00:00:00 2001 From: Fabrice Date: Tue, 10 Feb 2026 11:40:59 +0100 Subject: use type decl --- src/events.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/events.h') diff --git a/src/events.h b/src/events.h index db66571..16bf1d3 100644 --- a/src/events.h +++ b/src/events.h @@ -14,18 +14,25 @@ struct event_kind_resize_s { i32 width, height; }; +union event_kind_data_u { + struct event_kind_resize_s resize; +}; + struct event_s { enum event_kind_e kind; struct window_s *window; - union { - struct event_kind_resize_s resize; - }; + union event_kind_data_u data; }; -#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_INIT(kind, window, ...) \ + event_s { kind, window, __VA_ARGS__ } + +#define WAYC_EVENT_CLOSE(window) \ + WAYC_EVENT_INIT(EVENT_KIND_CLOSE, window, event_kind_data_u{}) + #define WAYC_EVENT_RESIZE(window, width, height) \ - WAYC_EVENT_INIT(EVENT_KIND_RESIZE, window, {{width, height}}) + WAYC_EVENT_INIT(EVENT_KIND_RESIZE, window, \ + event_kind_data_u{event_kind_resize_s{width, height}}) struct eventloop_s; -- cgit v1.2.3