From 211b3b760ebc518badc1dfed28aaca0b5f0b0175 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 20 Aug 2021 11:25:02 +0200 Subject: scene: add wlr_scene_tree --- include/wlr/types/wlr_scene.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include/wlr') diff --git a/include/wlr/types/wlr_scene.h b/include/wlr/types/wlr_scene.h index df3d00e8..7187359b 100644 --- a/include/wlr/types/wlr_scene.h +++ b/include/wlr/types/wlr_scene.h @@ -28,6 +28,7 @@ struct wlr_output_layout; enum wlr_scene_node_type { WLR_SCENE_NODE_ROOT, + WLR_SCENE_NODE_TREE, WLR_SCENE_NODE_SURFACE, WLR_SCENE_NODE_RECT, }; @@ -61,6 +62,11 @@ struct wlr_scene { struct wl_list outputs; // wlr_scene_output.link }; +/** A sub-tree in the scene-graph. */ +struct wlr_scene_tree { + struct wlr_scene_node node; +}; + /** A scene-graph node displaying a single surface. */ struct wlr_scene_surface { struct wlr_scene_node node; @@ -157,6 +163,11 @@ struct wlr_scene *wlr_scene_create(void); void wlr_scene_render_output(struct wlr_scene *scene, struct wlr_output *output, int lx, int ly, pixman_region32_t *damage); +/** + * Add a node displaying nothing but its children. + */ +struct wlr_scene_tree *wlr_scene_tree_create(struct wlr_scene_node *parent); + /** * Add a node displaying a single surface to the scene-graph. * -- cgit v1.2.3