From 211b3b760ebc518badc1dfed28aaca0b5f0b0175 Mon Sep 17 00:00:00 2001
From: Simon Ser <contact@emersion.fr>
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')

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