aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
authorAlexander Orzechowski <alex@ozal.ski>2023-11-23 10:09:48 -0500
committerKirill Primak <vyivel@eclair.cafe>2024-01-18 18:36:54 +0300
commit5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d (patch)
treef420022ad3a48215f9182505c0060d91edcd848e /include/sway
parent946fc8094559801bc4be629368ac31025d28165a (diff)
input: Query scene graph for relevant surface/node intersections
Diffstat (limited to 'include/sway')
-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 @@
enum sway_scene_descriptor_type {
SWAY_SCENE_DESC_BUFFER_TIMER,
+ SWAY_SCENE_DESC_NON_INTERACTIVE,
+ SWAY_SCENE_DESC_CONTAINER,
+ SWAY_SCENE_DESC_VIEW,
SWAY_SCENE_DESC_DRAG_ICON,
};
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);
struct sway_container *container_find_child(struct sway_container *container,
bool (*test)(struct sway_container *view, void *data), void *data);
-/**
- * Find a container at the given coordinates. Returns the surface and
- * surface-local coordinates of the given layout coordinates if the container
- * is a view and the view contains a surface at those coordinates.
- */
-struct sway_container *container_at(struct sway_workspace *workspace,
- double lx, double ly, struct wlr_surface **surface,
- double *sx, double *sy);
-
-struct sway_container *tiling_container_at(
- struct sway_node *parent, double lx, double ly,
- struct wlr_surface **surface, double *sx, double *sy);
-
void container_for_each_child(struct sway_container *container,
void (*f)(struct sway_container *container, void *data), void *data);
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 {
// staging node will be visible.
struct wlr_scene_tree *staging;
+ // tree containing all layers the compositor will render. Cursor handling
+ // will end up iterating this tree.
+ struct wlr_scene_tree *layer_tree;
+
struct {
struct wlr_scene_tree *tiling;
struct wlr_scene_tree *floating;