aboutsummaryrefslogtreecommitdiff
path: root/include/backend/headless.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-12-17 20:48:01 -0500
committerGitHub <noreply@github.com>2017-12-17 20:48:01 -0500
commitf3769a4b1f552b7dc826418e78b88bffe277c2c4 (patch)
treefe07e6a1333f8f96a9075deb26e3ea96519e618b /include/backend/headless.h
parent10c72f4bf6202bfce89e5a40b03475dd28cd68df (diff)
parentb99d1f4fcca0f8d7b1d2042f51fdefcc73304e6f (diff)
Merge pull request #496 from emersion/headless-backend
Headless backend
Diffstat (limited to 'include/backend/headless.h')
-rw-r--r--include/backend/headless.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/backend/headless.h b/include/backend/headless.h
new file mode 100644
index 00000000..91ff37dd
--- /dev/null
+++ b/include/backend/headless.h
@@ -0,0 +1,35 @@
+#ifndef BACKEND_HEADLESS_H
+#define BACKEND_HEADLESS_H
+
+#include <wlr/backend/interface.h>
+#include <wlr/backend/headless.h>
+#include <wlr/types/wlr_output.h>
+
+struct wlr_headless_backend {
+ struct wlr_backend backend;
+ struct wlr_egl egl;
+ struct wl_display *display;
+ struct wl_list outputs;
+ struct wl_list input_devices;
+ struct wl_listener display_destroy;
+ bool started;
+};
+
+struct wlr_headless_output {
+ struct wlr_output wlr_output;
+
+ struct wlr_headless_backend *backend;
+ struct wl_list link;
+
+ void *egl_surface;
+ struct wl_event_source *frame_timer;
+ int frame_delay; // ms
+};
+
+struct wlr_headless_input_device {
+ struct wlr_input_device wlr_input_device;
+
+ struct wlr_headless_backend *backend;
+};
+
+#endif