aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2021-01-07 14:41:24 +0100
committerSimon Ser <contact@emersion.fr>2021-01-08 10:33:16 +0100
commitc5c5ab97249861ae1d17cad382e001646f27486d (patch)
tree1f8aa5ade5ad6f4924ee765c07aa6d10d53bfb43 /include
parent129e02b57d95c979ec230f115b510559102606cf (diff)
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.
Diffstat (limited to 'include')
-rw-r--r--include/wlr/types/wlr_xdg_shell.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_xdg_shell.h b/include/wlr/types/wlr_xdg_shell.h
index 04addfe1..a519ed8b 100644
--- a/include/wlr/types/wlr_xdg_shell.h
+++ b/include/wlr/types/wlr_xdg_shell.h
@@ -393,6 +393,14 @@ 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.
*/