diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-09-29 10:12:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-29 10:12:58 -0400 |
commit | 285a109d416c9bcdc0c47dfb1b9ce4e474cd34dd (patch) | |
tree | 76277fbcbd76b5a376d9ba49b21be614b3327b42 /include/backend/x11.h | |
parent | 6479fb27be364ef6ee7c5289c18d015ec3d8c2f3 (diff) | |
parent | 1b18b0a27d285270c12e57781738c48377d5529b (diff) |
Merge pull request #164 from ascent12/x11-backend
X11 backend
Diffstat (limited to 'include/backend/x11.h')
-rw-r--r-- | include/backend/x11.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/backend/x11.h b/include/backend/x11.h new file mode 100644 index 00000000..b4284b63 --- /dev/null +++ b/include/backend/x11.h @@ -0,0 +1,56 @@ +#ifndef WLR_X11_H +#define WLR_X11_H + +#include <stdbool.h> +#include <xcb/xcb.h> +#include <X11/Xlib-xcb.h> +#include <wayland-server.h> +#include <wlr/egl.h> +#include <wlr/types/wlr_output.h> +#include <wlr/types/wlr_input_device.h> + +struct wlr_x11_backend; + +struct wlr_x11_output { + struct wlr_output wlr_output; + struct wlr_x11_backend *x11; + + xcb_window_t win; + EGLSurface surf; +}; + +struct wlr_x11_atom { + xcb_intern_atom_cookie_t cookie; + xcb_intern_atom_reply_t *reply; +}; + +struct wlr_x11_backend { + struct wlr_backend backend; + struct wl_display *wl_display; + + Display *xlib_conn; + xcb_connection_t *xcb_conn; + xcb_screen_t *screen; + + struct wlr_x11_output output; + + struct wlr_keyboard keyboard; + struct wlr_input_device keyboard_dev; + + struct wlr_pointer pointer; + struct wlr_input_device pointer_dev; + + struct wlr_egl egl; + struct wl_event_source *event_source; + struct wl_event_source *frame_timer; + + struct { + struct wlr_x11_atom wm_protocols; + struct wlr_x11_atom wm_delete_window; + } atoms; + + // The time we last received an event + xcb_timestamp_t time; +}; + +#endif |