diff options
author | Simon Ser <contact@emersion.fr> | 2021-08-20 11:25:02 +0200 |
---|---|---|
committer | Isaac Freund <ifreund@ifreund.xyz> | 2021-09-21 16:48:31 +0200 |
commit | 211b3b760ebc518badc1dfed28aaca0b5f0b0175 (patch) | |
tree | 40133120ffef1680549814e0f2a17311923d64e4 /include/wlr | |
parent | ccc84f11a4a039c89ad20111805c051c000ff7f7 (diff) |
scene: add wlr_scene_tree
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_scene.h | 11 |
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. |