From db4c93028d2c807694be8a9fa36e581239d1ee77 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 20 Oct 2021 18:16:27 +0200 Subject: scene: add wlr_scene_output_for_each_surface This allows compositors to more easily implement sending wl_surface.frame callback done events. --- include/wlr/types/wlr_scene.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/wlr') diff --git a/include/wlr/types/wlr_scene.h b/include/wlr/types/wlr_scene.h index 7a0801c0..17516aaf 100644 --- a/include/wlr/types/wlr_scene.h +++ b/include/wlr/types/wlr_scene.h @@ -270,6 +270,14 @@ void wlr_scene_output_set_position(struct wlr_scene_output *scene_output, */ bool wlr_scene_output_commit(struct wlr_scene_output *scene_output); +/** + * Call `iterator` on each surface in the scene-graph visible on the output, + * with the surface's position in layout coordinates. The function is called + * from root to leaves (in rendering order). + */ +void wlr_scene_output_for_each_surface(struct wlr_scene_output *scene_output, + wlr_surface_iterator_func_t iterator, void *user_data); + /** * Attach an output layout to a scene. * -- cgit v1.2.3