From 303650746360e69ea880a7f6b6df944d343dee79 Mon Sep 17 00:00:00 2001 From: emersion Date: Mon, 14 May 2018 22:28:45 +0100 Subject: xdg-shell: split into multiple files --- include/types/wlr_xdg_shell.h | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 include/types/wlr_xdg_shell.h (limited to 'include') 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 +#include +#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 -- cgit v1.2.3