summaryrefslogtreecommitdiff
path: root/src/events.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/events.h')
-rw-r--r--src/events.h14
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;