aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-01-17 08:02:27 -0500
committerGitHub <noreply@github.com>2019-01-17 08:02:27 -0500
commit0e0ba65bc0187cc1dabd7591e2f081ab3bf44d01 (patch)
treebde4d21776be98e7e0c51d941e9198d5d11f5c57 /include
parent10b1de6e718f1765f81131447d4b6b86bc78a6f4 (diff)
parent9b4be5a59506a81175ab2eb9248f4035176df5f0 (diff)
Merge pull request #1473 from RyanDwyer/noop-backend
Introduce noop backend
Diffstat (limited to 'include')
-rw-r--r--include/backend/noop.h24
-rw-r--r--include/wlr/backend/noop.h31
2 files changed, 55 insertions, 0 deletions
diff --git a/include/backend/noop.h b/include/backend/noop.h
new file mode 100644
index 00000000..4198baad
--- /dev/null
+++ b/include/backend/noop.h
@@ -0,0 +1,24 @@
+#ifndef BACKEND_NOOP_H
+#define BACKEND_NOOP_H
+
+#include <wlr/backend/noop.h>
+#include <wlr/backend/interface.h>
+
+struct wlr_noop_backend {
+ struct wlr_backend backend;
+ struct wl_display *display;
+ struct wl_list outputs;
+ bool started;
+};
+
+struct wlr_noop_output {
+ struct wlr_output wlr_output;
+
+ struct wlr_noop_backend *backend;
+ struct wl_list link;
+};
+
+struct wlr_noop_backend *noop_backend_from_backend(
+ struct wlr_backend *wlr_backend);
+
+#endif
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