aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Alexander Orzechowski <alex@ozal.ski>2023-11-21 19:05:37 -0500
committerLibravatar Kirill Primak <vyivel@eclair.cafe>2024-01-18 18:36:54 +0300
commit0e1a02bf0aad3d743985602b55043c5de019d1f0 (patch)
tree3dffc032ca7a56dc2d13a0350d33837de0e9f17d /include
parentscene_graph: Use built-in linux dmabuf feedback handling (diff)
downloadsway-0e1a02bf0aad3d743985602b55043c5de019d1f0.tar.gz
sway-0e1a02bf0aad3d743985602b55043c5de019d1f0.tar.zst
sway-0e1a02bf0aad3d743985602b55043c5de019d1f0.zip
scene_graph: Introduce sway_scene_descriptor
Across a wayland compositor, there are multiple shells: It can be a toplevel, or a layer_shell, or even something more meta like a drag icon or highlight indicators when dragging windows around. This object lets us store values that represent these modes of operation and keep track of what object is being represented.
Diffstat (limited to 'include')
-rw-r--r--include/sway/scene_descriptor.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/sway/scene_descriptor.h b/include/sway/scene_descriptor.h
new file mode 100644
index 00000000..13ae81a3
--- /dev/null
+++ b/include/sway/scene_descriptor.h
@@ -0,0 +1,25 @@
1/**
2 * Across a wayland compositor, there are multiple shells: It can be
3 * a toplevel, or a layer_shell, or even something more meta like a drag
4 * icon or highlight indicators when dragging windows around.
5 *
6 * This object lets us store values that represent these modes of operation
7 * and keep track of what object is being represented.
8 */
9#ifndef _SWAY_SCENE_DESCRIPTOR_H
10#define _SWAY_SCENE_DESCRIPTOR_H
11#include <wlr/types/wlr_scene.h>
12
13enum sway_scene_descriptor_type {
14};
15
16bool scene_descriptor_assign(struct wlr_scene_node *node,
17 enum sway_scene_descriptor_type type, void *data);
18
19void *scene_descriptor_try_get(struct wlr_scene_node *node,
20 enum sway_scene_descriptor_type type);
21
22void scene_descriptor_destroy(struct wlr_scene_node *node,
23 enum sway_scene_descriptor_type type);
24
25#endif