layer-shell: fix input routing to bottom and background layers
This commit is contained in:
parent
c06f532a58
commit
7cb9bd667f
2 changed files with 17 additions and 9 deletions
|
|
@ -843,21 +843,29 @@ impl Node for OutputNode {
|
||||||
});
|
});
|
||||||
fs.tl_as_node().node_find_tree_at(x, y, tree, usecase)
|
fs.tl_as_node().node_find_tree_at(x, y, tree, usecase)
|
||||||
} else {
|
} else {
|
||||||
if y >= bar_height {
|
let mut search_layers = true;
|
||||||
y -= bar_height;
|
if y < bar_height {
|
||||||
let len = tree.len();
|
search_layers = false;
|
||||||
|
} else {
|
||||||
if let Some(ws) = self.workspace.get() {
|
if let Some(ws) = self.workspace.get() {
|
||||||
|
let y = y - bar_height;
|
||||||
|
let len = tree.len();
|
||||||
tree.push(FoundNode {
|
tree.push(FoundNode {
|
||||||
node: ws.clone(),
|
node: ws.clone(),
|
||||||
x,
|
x,
|
||||||
y,
|
y,
|
||||||
});
|
});
|
||||||
ws.node_find_tree_at(x, y, tree, usecase);
|
match ws.node_find_tree_at(x, y, tree, usecase) {
|
||||||
}
|
FindTreeResult::AcceptsInput => search_layers = false,
|
||||||
if tree.len() == len {
|
FindTreeResult::Other => {
|
||||||
self.find_layer_surface_at(x, y, &[BOTTOM, BACKGROUND], tree, usecase);
|
tree.truncate(len);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if search_layers {
|
||||||
|
self.find_layer_surface_at(x, y, &[BOTTOM, BACKGROUND], tree, usecase);
|
||||||
|
}
|
||||||
FindTreeResult::AcceptsInput
|
FindTreeResult::AcceptsInput
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -264,9 +264,9 @@ impl Node for WorkspaceNode {
|
||||||
x,
|
x,
|
||||||
y,
|
y,
|
||||||
});
|
});
|
||||||
n.node_find_tree_at(x, y, tree, usecase);
|
return n.node_find_tree_at(x, y, tree, usecase);
|
||||||
}
|
}
|
||||||
FindTreeResult::AcceptsInput
|
FindTreeResult::Other
|
||||||
}
|
}
|
||||||
|
|
||||||
fn node_render(&self, renderer: &mut Renderer, x: i32, y: i32, _bounds: Option<&Rect>) {
|
fn node_render(&self, renderer: &mut Renderer, x: i32, y: i32, _bounds: Option<&Rect>) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue