aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-05-14 22:28:45 +0100
committeremersion <contact@emersion.fr>2018-05-14 22:28:45 +0100
commit303650746360e69ea880a7f6b6df944d343dee79 (patch)
tree215c808ce698f8c2f4d966cd1772b2e930751ee6 /include
parentc7480d50847d988b124c0cac458dd992c3ed6f38 (diff)
xdg-shell: split into multiple files
Diffstat (limited to 'include')
-rw-r--r--include/types/wlr_xdg_shell.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/include/types/wlr_xdg_shell.h b/include/types/wlr_xdg_shell.h
new file mode 100644
index 00000000..74f13bbe
--- /dev/null
+++ b/include/types/wlr_xdg_shell.h
@@ -0,0 +1,45 @@
+#ifndef TYPES_WLR_XDG_SHELL_H
+#define TYPES_WLR_XDG_SHELL_H
+
+#include <wayland-server.h>
+#include <wlr/types/wlr_xdg_shell.h>
+#include "xdg-shell-protocol.h"
+
+struct wlr_xdg_positioner_resource {
+ struct wl_resource *resource;
+ struct wlr_xdg_positioner attrs;
+};
+
+#define XDG_TOPLEVEL_ROLE "xdg_toplevel"
+#define XDG_POPUP_ROLE "xdg_popup"
+
+uint32_t schedule_xdg_surface_configure(struct wlr_xdg_surface *surface);
+struct wlr_xdg_surface *create_xdg_surface(
+ struct wlr_xdg_client *client, struct wlr_surface *surface,
+ uint32_t id);
+void unmap_xdg_surface(struct wlr_xdg_surface *surface);
+void destroy_xdg_surface(struct wlr_xdg_surface *surface);
+
+void create_xdg_positioner(struct wlr_xdg_client *client, uint32_t id);
+struct wlr_xdg_positioner_resource *get_xdg_positioner_from_resource(
+ struct wl_resource *resource);
+
+void create_xdg_popup(struct wlr_xdg_surface *xdg_surface,
+ struct wlr_xdg_surface *parent,
+ struct wlr_xdg_positioner_resource *positioner, int32_t id);
+void handle_xdg_surface_popup_committed(struct wlr_xdg_surface *surface);
+struct wlr_xdg_popup_grab *get_xdg_shell_popup_grab_from_seat(
+ struct wlr_xdg_shell *shell, struct wlr_seat *seat);
+void destroy_xdg_popup(struct wlr_xdg_surface *surface);
+
+void create_xdg_toplevel(struct wlr_xdg_surface *xdg_surface,
+ uint32_t id);
+void handle_xdg_surface_toplevel_committed(struct wlr_xdg_surface *surface);
+void send_xdg_toplevel_configure(struct wlr_xdg_surface *surface,
+ struct wlr_xdg_surface_configure *configure);
+void handle_xdg_toplevel_ack_configure(struct wlr_xdg_surface *surface,
+ struct wlr_xdg_surface_configure *configure);
+bool compare_xdg_surface_toplevel_state(struct wlr_xdg_toplevel *state);
+void destroy_xdg_toplevel(struct wlr_xdg_surface *surface);
+
+#endif