summaryrefslogtreecommitdiffstats
path: root/native/src/widget/pane_grid.rs
diff options
context:
space:
mode:
authorLibravatar Cory Forsstrom <cforsstrom18@gmail.com>2022-10-17 14:56:06 -0700
committerLibravatar Cory Forsstrom <cforsstrom18@gmail.com>2022-10-17 14:56:06 -0700
commitfb036529a222126da3f119da4d94d17776460421 (patch)
treebf88eead888a38537683c6d603f18520c9aa3296 /native/src/widget/pane_grid.rs
parentdca99f35e938bebdfdad16eaabd220b5d52c2375 (diff)
downloadiced-fb036529a222126da3f119da4d94d17776460421.tar.gz
iced-fb036529a222126da3f119da4d94d17776460421.tar.bz2
iced-fb036529a222126da3f119da4d94d17776460421.zip
Render picked pane last
Diffstat (limited to 'native/src/widget/pane_grid.rs')
-rw-r--r--native/src/widget/pane_grid.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs
index 8eadac48..3ef578bf 100644
--- a/native/src/widget/pane_grid.rs
+++ b/native/src/widget/pane_grid.rs
@@ -757,7 +757,12 @@ pub fn draw<Renderer, T>(
cursor_position
};
- for ((id, pane), layout) in elements.zip(layout.children()) {
+ // Render picked pane last
+ let mut elements = elements.zip(layout.children()).collect::<Vec<_>>();
+ elements
+ .sort_by_key(|((id, _), _)| picked_pane.map(|(id, _)| id) == Some(*id));
+
+ for ((id, pane), layout) in elements {
match picked_pane {
Some((dragging, origin)) if id == dragging => {
let bounds = layout.bounds();