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 /sway/tree/root.c | |
parent | Introduce sway_text_node (diff) | |
download | sway-5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d.tar.gz sway-5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d.tar.zst sway-5b8b505af5d5925ae9e617ee8f3c7a0f9c43409d.zip |
input: Query scene graph for relevant surface/node intersections
Diffstat (limited to 'sway/tree/root.c')
-rw-r--r-- | sway/tree/root.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sway/tree/root.c b/sway/tree/root.c index e4941566..fbdd9a96 100644 --- a/sway/tree/root.c +++ b/sway/tree/root.c | |||
@@ -9,6 +9,7 @@ | |||
9 | #include "sway/input/seat.h" | 9 | #include "sway/input/seat.h" |
10 | #include "sway/ipc-server.h" | 10 | #include "sway/ipc-server.h" |
11 | #include "sway/output.h" | 11 | #include "sway/output.h" |
12 | #include "sway/scene_descriptor.h" | ||
12 | #include "sway/tree/arrange.h" | 13 | #include "sway/tree/arrange.h" |
13 | #include "sway/tree/container.h" | 14 | #include "sway/tree/container.h" |
14 | #include "sway/tree/root.h" | 15 | #include "sway/tree/root.h" |
@@ -44,13 +45,19 @@ struct sway_root *root_create(struct wl_display *wl_display) { | |||
44 | 45 | ||
45 | bool failed = false; | 46 | bool failed = false; |
46 | root->staging = alloc_scene_tree(&root_scene->tree, &failed); | 47 | root->staging = alloc_scene_tree(&root_scene->tree, &failed); |
47 | 48 | root->layer_tree = alloc_scene_tree(&root_scene->tree, &failed); | |
48 | root->layers.tiling = alloc_scene_tree(&root_scene->tree, &failed); | 49 | |
49 | root->layers.floating = alloc_scene_tree(&root_scene->tree, &failed); | 50 | root->layers.tiling = alloc_scene_tree(root->layer_tree, &failed); |
50 | root->layers.fullscreen = alloc_scene_tree(&root_scene->tree, &failed); | 51 | root->layers.floating = alloc_scene_tree(root->layer_tree, &failed); |
51 | root->layers.fullscreen_global = alloc_scene_tree(&root_scene->tree, &failed); | 52 | root->layers.fullscreen = alloc_scene_tree(root->layer_tree, &failed); |
52 | root->layers.seat = alloc_scene_tree(&root_scene->tree, &failed); | 53 | root->layers.fullscreen_global = alloc_scene_tree(root->layer_tree, &failed); |
53 | root->layers.session_lock = alloc_scene_tree(&root_scene->tree, &failed); | 54 | root->layers.seat = alloc_scene_tree(root->layer_tree, &failed); |
55 | root->layers.session_lock = alloc_scene_tree(root->layer_tree, &failed); | ||
56 | |||
57 | if (!failed && !scene_descriptor_assign(&root->layers.seat->node, | ||
58 | SWAY_SCENE_DESC_NON_INTERACTIVE, (void *)1)) { | ||
59 | failed = true; | ||
60 | } | ||
54 | 61 | ||
55 | if (failed) { | 62 | if (failed) { |
56 | wlr_scene_node_destroy(&root_scene->tree.node); | 63 | wlr_scene_node_destroy(&root_scene->tree.node); |