diff options
author | 2023-11-21 19:03:49 +0100 | |
---|---|---|
committer | 2023-11-21 19:03:49 +0100 | |
commit | 170db35891d7824f8140610bce20708deecb8a62 (patch) | |
tree | e03bf161d97acedd71152a5c34cb0f5c9e32ed4c /runtime/src/overlay/nested.rs | |
parent | 7dd32f3be43c72e11dac5e07918e9ad6d36b6555 (diff) | |
parent | 89e3de7c08dc07eefbcc2617f0da63282aa1c8ef (diff) | |
download | iced-170db35891d7824f8140610bce20708deecb8a62.tar.gz iced-170db35891d7824f8140610bce20708deecb8a62.tar.bz2 iced-170db35891d7824f8140610bce20708deecb8a62.zip |
Merge pull request #2142 from iced-rs/fix/overlay-composition
Fix `Overlay` composition
Diffstat (limited to '')
-rw-r--r-- | runtime/src/overlay/nested.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/runtime/src/overlay/nested.rs b/runtime/src/overlay/nested.rs index 062ccc72..4256efb7 100644 --- a/runtime/src/overlay/nested.rs +++ b/runtime/src/overlay/nested.rs @@ -4,7 +4,9 @@ use crate::core::mouse; use crate::core::overlay; use crate::core::renderer; use crate::core::widget; -use crate::core::{Clipboard, Event, Layout, Point, Rectangle, Shell, Size}; +use crate::core::{ + Clipboard, Event, Layout, Point, Rectangle, Shell, Size, Vector, +}; /// An overlay container that displays nested overlays #[allow(missing_debug_implementations)] @@ -33,19 +35,18 @@ where &mut self, renderer: &Renderer, bounds: Size, - position: Point, + _position: Point, + translation: Vector, ) -> layout::Node { fn recurse<Message, Renderer>( element: &mut overlay::Element<'_, Message, Renderer>, renderer: &Renderer, bounds: Size, - position: Point, + translation: Vector, ) -> layout::Node where Renderer: renderer::Renderer, { - let translation = position - Point::ORIGIN; - let node = element.layout(renderer, bounds, translation); if let Some(mut nested) = @@ -55,7 +56,7 @@ where node.size(), vec![ node, - recurse(&mut nested, renderer, bounds, position), + recurse(&mut nested, renderer, bounds, translation), ], ) } else { @@ -63,7 +64,7 @@ where } } - recurse(&mut self.overlay, renderer, bounds, position) + recurse(&mut self.overlay, renderer, bounds, translation) } /// Draws the [`Nested`] overlay using the associated `Renderer`. |