xdg shell: add wlr_xdg_surface_for_each_popup_surface()

When rendering, it is necessary to iterate the subsurfaces as well,
so add a function that makes this easy.
This commit is contained in:
Isaac Freund 2021-01-07 14:41:24 +01:00 committed by Simon Ser
parent 129e02b57d
commit c5c5ab9724
2 changed files with 40 additions and 0 deletions

View file

@ -392,6 +392,14 @@ void wlr_xdg_surface_get_geometry(struct wlr_xdg_surface *surface,
void wlr_xdg_surface_for_each_surface(struct wlr_xdg_surface *surface,
wlr_surface_iterator_func_t iterator, void *user_data);
/**
* Call `iterator` on each popup's surface and popup's subsurface in the
* xdg-surface tree, with the surfaces's position relative to the root
* xdg-surface. The function is called from root to leaves (in rendering order).
*/
void wlr_xdg_surface_for_each_popup_surface(struct wlr_xdg_surface *surface,
wlr_surface_iterator_func_t iterator, void *user_data);
/**
* Schedule a surface configuration. This should only be called by protocols
* extending the shell.