aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2019-01-17 20:13:55 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2019-01-17 20:13:55 +1000
commit9b4be5a59506a81175ab2eb9248f4035176df5f0 (patch)
treebde4d21776be98e7e0c51d941e9198d5d11f5c57 /include/wlr
parent10b1de6e718f1765f81131447d4b6b86bc78a6f4 (diff)
Introduce noop backend
The noop backend is similar to headless, but it doesn't contain a renderer. It can be used as a place to stash views for when there's no physical outputs connected.
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/backend/noop.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/wlr/backend/noop.h b/include/wlr/backend/noop.h
new file mode 100644
index 00000000..592b8f35
--- /dev/null
+++ b/include/wlr/backend/noop.h
@@ -0,0 +1,31 @@
+/*
+ * This an unstable interface of wlroots. No guarantees are made regarding the
+ * future consistency of this API.
+ */
+#ifndef WLR_USE_UNSTABLE
+#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
+#endif
+
+#ifndef WLR_BACKEND_NOOP_H
+#define WLR_BACKEND_NOOP_H
+
+#include <wlr/backend.h>
+#include <wlr/types/wlr_output.h>
+
+/**
+ * Creates a noop backend. Noop backends do not have a framebuffer and are not
+ * capable of rendering anything. They are useful for when there's no real
+ * outputs connected; you can stash your views on a noop output until an output
+ * is connected.
+ */
+struct wlr_backend *wlr_noop_backend_create(struct wl_display *display);
+
+/**
+ * Create a new noop output.
+ */
+struct wlr_output *wlr_noop_add_output(struct wlr_backend *backend);
+
+bool wlr_backend_is_noop(struct wlr_backend *backend);
+bool wlr_output_is_noop(struct wlr_output *output);
+
+#endif