2018-05-14 23:28:45 +02:00
|
|
|
#ifndef TYPES_WLR_XDG_SHELL_H
|
|
|
|
#define TYPES_WLR_XDG_SHELL_H
|
|
|
|
|
2019-07-27 10:53:54 +02:00
|
|
|
#include <wayland-server-core.h>
|
2018-05-14 23:28:45 +02:00
|
|
|
#include <wlr/types/wlr_xdg_shell.h>
|
|
|
|
#include "xdg-shell-protocol.h"
|
|
|
|
|
2018-07-07 23:45:16 +02:00
|
|
|
extern const struct wlr_surface_role xdg_toplevel_surface_role;
|
|
|
|
extern const struct wlr_surface_role xdg_popup_surface_role;
|
2018-05-14 23:28:45 +02:00
|
|
|
|
|
|
|
struct wlr_xdg_surface *create_xdg_surface(
|
2022-01-08 20:52:53 +01:00
|
|
|
struct wlr_xdg_client *client, struct wlr_surface *wlr_surface,
|
2018-05-14 23:28:45 +02:00
|
|
|
uint32_t id);
|
|
|
|
void destroy_xdg_surface(struct wlr_xdg_surface *surface);
|
2023-03-07 18:32:43 +01:00
|
|
|
void destroy_xdg_surface_role_object(struct wlr_xdg_surface *surface);
|
2022-01-08 20:52:49 +01:00
|
|
|
void xdg_surface_role_commit(struct wlr_surface *wlr_surface);
|
2023-03-04 20:14:50 +01:00
|
|
|
void xdg_surface_role_unmap(struct wlr_surface *wlr_surface);
|
2022-11-06 10:18:56 +01:00
|
|
|
void xdg_surface_role_destroy(struct wlr_surface *wlr_surface);
|
2018-05-14 23:28:45 +02:00
|
|
|
|
|
|
|
void create_xdg_positioner(struct wlr_xdg_client *client, uint32_t id);
|
|
|
|
|
2022-01-08 20:52:53 +01:00
|
|
|
void create_xdg_popup(struct wlr_xdg_surface *surface,
|
2018-05-14 23:28:45 +02:00
|
|
|
struct wlr_xdg_surface *parent,
|
2022-02-06 21:39:50 +01:00
|
|
|
struct wlr_xdg_positioner *positioner, uint32_t id);
|
2023-03-07 18:32:43 +01:00
|
|
|
void reset_xdg_popup(struct wlr_xdg_popup *popup);
|
2022-02-05 08:29:42 +01:00
|
|
|
void destroy_xdg_popup(struct wlr_xdg_popup *popup);
|
2022-01-08 20:52:52 +01:00
|
|
|
void handle_xdg_popup_committed(struct wlr_xdg_popup *popup);
|
2022-03-05 17:32:35 +01:00
|
|
|
struct wlr_xdg_popup_configure *send_xdg_popup_configure(
|
|
|
|
struct wlr_xdg_popup *popup);
|
|
|
|
void handle_xdg_popup_ack_configure(struct wlr_xdg_popup *popup,
|
|
|
|
struct wlr_xdg_popup_configure *configure);
|
2018-05-14 23:28:45 +02:00
|
|
|
|
2022-01-08 20:52:53 +01:00
|
|
|
void create_xdg_toplevel(struct wlr_xdg_surface *surface,
|
2018-05-14 23:28:45 +02:00
|
|
|
uint32_t id);
|
2023-03-07 18:32:43 +01:00
|
|
|
void reset_xdg_toplevel(struct wlr_xdg_toplevel *toplevel);
|
2022-02-05 08:29:42 +01:00
|
|
|
void destroy_xdg_toplevel(struct wlr_xdg_toplevel *toplevel);
|
2022-01-08 20:52:51 +01:00
|
|
|
void handle_xdg_toplevel_committed(struct wlr_xdg_toplevel *toplevel);
|
|
|
|
struct wlr_xdg_toplevel_configure *send_xdg_toplevel_configure(
|
|
|
|
struct wlr_xdg_toplevel *toplevel);
|
|
|
|
void handle_xdg_toplevel_ack_configure(struct wlr_xdg_toplevel *toplevel,
|
|
|
|
struct wlr_xdg_toplevel_configure *configure);
|
2018-05-14 23:28:45 +02:00
|
|
|
|
|
|
|
#endif
|