From cf2ca10ff02491de7e035cd49d39bfcda5d741bd Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Mon, 22 May 2023 00:35:12 +0200 Subject: Add event.c and a function to get the ID of event --- src/event.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ src/event.h | 1 + 2 files changed, 49 insertions(+) create mode 100644 src/event.c 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__ */ -- cgit v1.2.3