aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Alexander Orzechowski <alex@ozal.ski>2023-11-23 10:09:48 -0500
committerLibravatar Kirill Primak <vyivel@eclair.cafe>2024-01-18 18:36:54 +0300
commit5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d (patch)
treef420022ad3a48215f9182505c0060d91edcd848e /include
parentIntroduce sway_text_node (diff)
downloadsway-5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d.tar.gz
sway-5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d.tar.zst
sway-5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d.zip
input: Query scene graph for relevant surface/node intersections
Diffstat (limited to 'include')
-rw-r--r--include/sway/scene_descriptor.h3
-rw-r--r--include/sway/tree/container.h13
-rw-r--r--include/sway/tree/root.h4
3 files changed, 7 insertions, 13 deletions
diff --git a/include/sway/scene_descriptor.h b/include/sway/scene_descriptor.h
index 057993ec..8af81219 100644
--- a/include/sway/scene_descriptor.h
+++ b/include/sway/scene_descriptor.h
@@ -12,6 +12,9 @@
12 12
13enum sway_scene_descriptor_type { 13enum sway_scene_descriptor_type {
14 SWAY_SCENE_DESC_BUFFER_TIMER, 14 SWAY_SCENE_DESC_BUFFER_TIMER,
15 SWAY_SCENE_DESC_NON_INTERACTIVE,
16 SWAY_SCENE_DESC_CONTAINER,
17 SWAY_SCENE_DESC_VIEW,
15 SWAY_SCENE_DESC_DRAG_ICON, 18 SWAY_SCENE_DESC_DRAG_ICON,
16}; 19};
17 20
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index ee22a0d0..6f72439c 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -172,19 +172,6 @@ void container_begin_destroy(struct sway_container *con);
172struct sway_container *container_find_child(struct sway_container *container, 172struct sway_container *container_find_child(struct sway_container *container,
173 bool (*test)(struct sway_container *view, void *data), void *data); 173 bool (*test)(struct sway_container *view, void *data), void *data);
174 174
175/**
176 * Find a container at the given coordinates. Returns the surface and
177 * surface-local coordinates of the given layout coordinates if the container
178 * is a view and the view contains a surface at those coordinates.
179 */
180struct sway_container *container_at(struct sway_workspace *workspace,
181 double lx, double ly, struct wlr_surface **surface,
182 double *sx, double *sy);
183
184struct sway_container *tiling_container_at(
185 struct sway_node *parent, double lx, double ly,
186 struct wlr_surface **surface, double *sx, double *sy);
187
188void container_for_each_child(struct sway_container *container, 175void container_for_each_child(struct sway_container *container,
189 void (*f)(struct sway_container *container, void *data), void *data); 176 void (*f)(struct sway_container *container, void *data), void *data);
190 177
diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h
index 0aae8938..003606aa 100644
--- a/include/sway/tree/root.h
+++ b/include/sway/tree/root.h
@@ -35,6 +35,10 @@ struct sway_root {
35 // staging node will be visible. 35 // staging node will be visible.
36 struct wlr_scene_tree *staging; 36 struct wlr_scene_tree *staging;
37 37
38 // tree containing all layers the compositor will render. Cursor handling
39 // will end up iterating this tree.
40 struct wlr_scene_tree *layer_tree;
41
38 struct { 42 struct {
39 struct wlr_scene_tree *tiling; 43 struct wlr_scene_tree *tiling;
40 struct wlr_scene_tree *floating; 44 struct wlr_scene_tree *floating;