diff options
author | 2022-10-17 14:56:06 -0700 | |
---|---|---|
committer | 2022-10-17 14:56:06 -0700 | |
commit | fb036529a222126da3f119da4d94d17776460421 (patch) | |
tree | bf88eead888a38537683c6d603f18520c9aa3296 /native/src/widget/pane_grid.rs | |
parent | dca99f35e938bebdfdad16eaabd220b5d52c2375 (diff) | |
download | iced-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.rs | 7 |
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(); |