aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-08-20 11:25:02 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2021-09-21 16:48:31 +0200
commit211b3b760ebc518badc1dfed28aaca0b5f0b0175 (patch)
tree40133120ffef1680549814e0f2a17311923d64e4 /include/wlr
parentccc84f11a4a039c89ad20111805c051c000ff7f7 (diff)
scene: add wlr_scene_tree
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/types/wlr_scene.h11
1 files changed, 11 insertions, 0 deletions
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;
@@ -158,6 +164,11 @@ 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.
*
* The child sub-surfaces are ignored.