diff options
author | Alexander Orzechowski <alex@ozal.ski> | 2023-11-23 10:09:48 -0500 |
---|---|---|
committer | Kirill Primak <vyivel@eclair.cafe> | 2024-01-18 18:36:54 +0300 |
commit | 5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d (patch) | |
tree | f420022ad3a48215f9182505c0060d91edcd848e /include | |
parent | 946fc8094559801bc4be629368ac31025d28165a (diff) |
input: Query scene graph for relevant surface/node intersections
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/scene_descriptor.h | 3 | ||||
-rw-r--r-- | include/sway/tree/container.h | 13 | ||||
-rw-r--r-- | include/sway/tree/root.h | 4 |
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; |