diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/wlr/types/wlr_surface.h | 8 | ||||
-rw-r--r-- | include/wlr/types/wlr_xdg_shell_v6.h | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h index 0a802ea3..d76fff16 100644 --- a/include/wlr/types/wlr_surface.h +++ b/include/wlr/types/wlr_surface.h @@ -70,4 +70,12 @@ void wlr_surface_get_matrix(struct wlr_surface *surface, const float (*projection)[16], const float (*transform)[16]); + +/** + * Set the lifetime role for this surface. Returns 0 on success or -1 if the + * role cannot be set. + */ +int wlr_surface_set_role(struct wlr_surface *surface, const char *role, + struct wl_resource *error_resource, uint32_t error_code); + #endif diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h index 500dae87..6bc37940 100644 --- a/include/wlr/types/wlr_xdg_shell_v6.h +++ b/include/wlr/types/wlr_xdg_shell_v6.h @@ -10,10 +10,17 @@ struct wlr_xdg_shell_v6 { void *data; }; +enum wlr_xdg_surface_v6_role { + WLR_XDG_SURFACE_V6_ROLE_NONE, + WLR_XDG_SURFACE_V6_ROLE_TOPLEVEL, + WLR_XDG_SURFACE_V6_ROLE_POPUP, +}; + struct wlr_xdg_surface_v6 { struct wl_resource *resource; struct wl_resource *surface; struct wl_list link; + enum wlr_xdg_surface_v6_role role; struct wl_listener surface_destroy_listener; |