diff options
Diffstat (limited to 'widget/src/themer.rs')
-rw-r--r-- | widget/src/themer.rs | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/widget/src/themer.rs b/widget/src/themer.rs index ee96a493..e6ca6cfe 100644 --- a/widget/src/themer.rs +++ b/widget/src/themer.rs @@ -141,6 +141,7 @@ where tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, + translation: Vector, ) -> Option<overlay::Element<'b, Message, AnyTheme, Renderer>> { struct Overlay<'a, Message, Theme, Renderer> { theme: &'a Theme, @@ -157,14 +158,8 @@ where &mut self, renderer: &Renderer, bounds: Size, - position: Point, - translation: Vector, ) -> layout::Node { - self.content.layout( - renderer, - bounds, - translation + (position - Point::ORIGIN), - ) + self.content.layout(renderer, bounds) } fn draw( @@ -233,22 +228,18 @@ where theme: self.theme, content, }) - .map(|overlay| { - overlay::Element::new(Point::ORIGIN, Box::new(overlay)) - }) + .map(|overlay| overlay::Element::new(Box::new(overlay))) } } self.content .as_widget_mut() - .overlay(tree, layout, renderer) + .overlay(tree, layout, renderer, translation) .map(|content| Overlay { theme: &self.theme, content, }) - .map(|overlay| { - overlay::Element::new(Point::ORIGIN, Box::new(overlay)) - }) + .map(|overlay| overlay::Element::new(Box::new(overlay))) } } |