summaryrefslogtreecommitdiff
path: root/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'event.c')
-rw-r--r--event.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/event.c b/event.c
new file mode 100644
index 0000000..8e527e4
--- /dev/null
+++ b/event.c
@@ -0,0 +1,49 @@
+#include <stdlib.h>
+
+#include <X11/Xproto.h>
+#include <X11/Xlib.h>
+
+#include "private.h"
+
+WL_EXPORT int
+XSendEvent(Display *xdisplay,
+ Window w, Bool propagate, long event_mask, XEvent* event_send)
+{
+ struct csx_display *display = csx_display(xdisplay);
+
+ csx_display_enter(display, X_SendEvent, 0);
+
+ STUB();
+
+ return 1;
+}
+
+WL_EXPORT int
+XAllowEvents(Display *xdisplay, int event_mode, Time time)
+{
+ struct csx_display *display = csx_display(xdisplay);
+
+ csx_display_enter(display, X_AllowEvents, 0);
+
+ STUB();
+
+ return 1;
+}
+
+WL_EXPORT int
+XNextEvent(Display *xdisplay, XEvent *xevent)
+{
+ struct csx_display *display = csx_display(xdisplay);
+ struct csx_event *event;
+
+ while (wl_list_empty(&display->event_list))
+ wl_display_dispatch(display->display);
+
+ event = container_of(display->event_list.next, struct csx_event, link);
+ wl_list_remove(&event->link);
+ *xevent = event->xevent;
+ free(event);
+
+ return 0;
+}
+