From b31ce4220cea6acede2ae2af1b19a3a7d4b81fc6 Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Sun, 18 Mar 2018 15:09:37 -0400
Subject: Add broken test client and rootston stubs

---
 include/rootston/desktop.h |  5 +++++
 include/rootston/layers.h  | 19 +++++++++++++++++++
 include/rootston/view.h    |  1 -
 3 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 include/rootston/layers.h

(limited to 'include/rootston')

diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h
index 5ff9f5e2..ad7654a1 100644
--- a/include/rootston/desktop.h
+++ b/include/rootston/desktop.h
@@ -7,6 +7,7 @@
 #include <wlr/types/wlr_compositor.h>
 #include <wlr/types/wlr_gamma_control.h>
 #include <wlr/types/wlr_idle.h>
+#include <wlr/types/wlr_layer_shell.h>
 #include <wlr/types/wlr_linux_dmabuf.h>
 #include <wlr/types/wlr_list.h>
 #include <wlr/types/wlr_output_layout.h>
@@ -28,6 +29,8 @@
 struct roots_desktop {
 	struct wl_list views; // roots_view::link
 
+	struct wl_list layers[4]; // layer_surface::link
+
 	struct wl_list outputs; // roots_output::link
 	struct timespec last_frame;
 
@@ -55,6 +58,7 @@ struct roots_desktop {
 	struct wl_listener xdg_shell_v6_surface;
 	struct wl_listener xdg_shell_surface;
 	struct wl_listener wl_shell_surface;
+	struct wl_listener layer_shell_surface;
 	struct wl_listener decoration_new;
 
 #ifdef WLR_HAS_XWAYLAND
@@ -88,6 +92,7 @@ void view_unmap(struct roots_view *view);
 void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);
 void handle_xdg_shell_surface(struct wl_listener *listener, void *data);
 void handle_wl_shell_surface(struct wl_listener *listener, void *data);
+void handle_layer_shell_surface(struct wl_listener *listener, void *data);
 void handle_xwayland_surface(struct wl_listener *listener, void *data);
 
 #endif
diff --git a/include/rootston/layers.h b/include/rootston/layers.h
new file mode 100644
index 00000000..269056ea
--- /dev/null
+++ b/include/rootston/layers.h
@@ -0,0 +1,19 @@
+#ifndef ROOTSTON_LAYERS_H
+#define ROOTSTON_LAYERS_H
+#include <stdbool.h>
+#include <wlr/config.h>
+#include <wlr/types/wlr_box.h>
+#include <wlr/types/wlr_surface.h>
+#include <wlr/types/wlr_layer_shell.h>
+
+struct roots_layer_surface {
+	struct wlr_layer_surface *layer_surface;
+	struct wl_list link;
+
+	struct wl_listener destroy;
+	struct wl_listener map;
+	struct wl_listener unmap;
+	struct wl_listener surface_commit;
+};
+
+#endif
diff --git a/include/rootston/view.h b/include/rootston/view.h
index 1397a8d2..6e746e8c 100644
--- a/include/rootston/view.h
+++ b/include/rootston/view.h
@@ -1,6 +1,5 @@
 #ifndef ROOTSTON_VIEW_H
 #define ROOTSTON_VIEW_H
-
 #include <stdbool.h>
 #include <wlr/config.h>
 #include <wlr/types/wlr_box.h>
-- 
cgit v1.2.3