aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-05-22 00:35:12 +0200
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-05-22 00:35:12 +0200
commitcf2ca10ff02491de7e035cd49d39bfcda5d741bd (patch)
tree6747a8677b1e3a85203de062135e86a72dc23b6b /src
parent079b8eb4ff7a45d8872b2b83e324be00ea68fe6f (diff)
downloadcherry-cf2ca10ff02491de7e035cd49d39bfcda5d741bd.tar.gz
cherry-cf2ca10ff02491de7e035cd49d39bfcda5d741bd.zip
Add event.c and a function to get the ID of event
Diffstat (limited to 'src')
-rw-r--r--src/event.c48
-rw-r--r--src/event.h1
2 files changed, 49 insertions, 0 deletions
diff --git a/src/event.c b/src/event.c
new file mode 100644
index 0000000..b211815
--- /dev/null
+++ b/src/event.c
@@ -0,0 +1,48 @@
+/* See LICENSE file for copyright and license details. */
+
+#include "window.h"
+
+CherryEvent
+cherry_event_create(Display *display, Window wnd, int event_id)
+{
+ CherryEvent evt;
+
+ evt.display = display;
+ evt.window = wnd;
+ evt.event_id = event_id;
+
+ return evt;
+}
+
+CherryEvent
+cherry_event_mouse_create(Display *display, Window wnd, int event_id, int x, int y)
+{
+ CherryEvent evt;
+ CherryEventMouse mouse;
+
+ evt = cherry_event_create(display, wnd, event_id);
+ mouse.x = x;
+ mouse.y = y;
+ evt.mouse = mouse;
+
+ return evt;
+}
+
+CherryEvent
+cherry_event_key_create(int event_id, XKeyEvent xkey)
+{
+ CherryEvent evt;
+ CherryEventKey key;
+
+ evt.event_id = event_id;
+ key.xkey = xkey;
+ evt.key = key;
+
+ return evt;
+}
+
+int
+cherry_event_id(CherryEvent evt)
+{
+ return evt.event_id;
+}
diff --git a/src/event.h b/src/event.h
index 08f95f3..ad635f5 100644
--- a/src/event.h
+++ b/src/event.h
@@ -32,5 +32,6 @@ typedef struct CherryEvent {
CherryEvent cherry_event_create(Display *, Window, int);
CherryEvent cherry_event_mouse_create(Display *, Window, int, int x, int y);
CherryEvent cherry_event_key_create(int, XKeyEvent);
+int cherry_event_id(CherryEvent);
#endif /* __CHERRY_EVENT_H__ */