aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authorTony Crisci <tony@dubstepdish.com>2017-10-27 15:22:00 -0400
committerTony Crisci <tony@dubstepdish.com>2017-10-27 15:22:00 -0400
commitc555a66ddafe3ea06f3abbf38194a8589733082d (patch)
tree2298ce1eb691b3d9d5a8ae69cb77894333f943c1 /include/wlr
parent325def38418f5caefd6dc23749dd2ca6bae0a36c (diff)
parentb97160238fa5b61fef81316102559c8c3e137cd2 (diff)
Merge branch 'master' into feature/xwm-rewrite
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/types/wlr_server_decoration.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_server_decoration.h b/include/wlr/types/wlr_server_decoration.h
new file mode 100644
index 00000000..b4cac5b7
--- /dev/null
+++ b/include/wlr/types/wlr_server_decoration.h
@@ -0,0 +1,44 @@
+#ifndef WLR_TYPES_WLR_SERVER_DECORATION_H
+#define WLR_TYPES_WLR_SERVER_DECORATION_H
+
+#include <wayland-server.h>
+
+struct wlr_server_decoration_manager {
+ struct wl_global *wl_global;
+ struct wl_list wl_resources;
+ struct wl_list decorations; // wlr_server_decoration::link
+
+ uint32_t default_mode; // enum org_kde_kwin_server_decoration_manager_mode
+
+ struct {
+ struct wl_signal new_decoration;
+ } events;
+
+ void *data;
+};
+
+struct wlr_server_decoration {
+ struct wl_resource *resource;
+ struct wlr_surface *surface;
+ struct wl_list link;
+
+ uint32_t mode; // enum org_kde_kwin_server_decoration_manager_mode
+
+ struct {
+ struct wl_signal destroy;
+ struct wl_signal mode;
+ } events;
+
+ struct wl_listener surface_destroy_listener;
+
+ void *data;
+};
+
+struct wlr_server_decoration_manager *wlr_server_decoration_manager_create(
+ struct wl_display *display);
+void wlr_server_decoration_manager_set_default_mode(
+ struct wlr_server_decoration_manager *manager, uint32_t default_mode);
+void wlr_server_decoration_manager_destroy(
+ struct wlr_server_decoration_manager *manager);
+
+#endif