summaryrefslogtreecommitdiff
path: root/src/events.h
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-10 11:40:59 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-10 11:40:59 +0100
commit0d62b836f33bd7029e769ffe1a823d7fcec0a8ff (patch)
tree312dce9c8359639951af4171e186f2872214b66a /src/events.h
parent12a4aa2963369680fbc2df4a13731a1aed20db92 (diff)
use type decl
Diffstat (limited to 'src/events.h')
-rw-r--r--src/events.h19
1 files changed, 13 insertions, 6 deletions
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;