diff options
Diffstat (limited to 'core/src/overlay')
-rw-r--r-- | core/src/overlay/element.rs | 41 | ||||
-rw-r--r-- | core/src/overlay/group.rs | 16 |
2 files changed, 8 insertions, 49 deletions
diff --git a/core/src/overlay/element.rs b/core/src/overlay/element.rs index c34ab862..695b88b3 100644 --- a/core/src/overlay/element.rs +++ b/core/src/overlay/element.rs @@ -12,8 +12,6 @@ use std::any::Any; /// A generic [`Overlay`]. #[allow(missing_debug_implementations)] pub struct Element<'a, Message, Theme, Renderer> { - position: Point, - translation: Vector, overlay: Box<dyn Overlay<Message, Theme, Renderer> + 'a>, } @@ -23,26 +21,9 @@ where { /// Creates a new [`Element`] containing the given [`Overlay`]. pub fn new( - position: Point, overlay: Box<dyn Overlay<Message, Theme, Renderer> + 'a>, ) -> Self { - Self { - position, - overlay, - translation: Vector::ZERO, - } - } - - /// Returns the position of the [`Element`]. - pub fn position(&self) -> Point { - self.position - } - - /// Translates the [`Element`]. - pub fn translate(mut self, translation: Vector) -> Self { - self.position = self.position + translation; - self.translation = self.translation + translation; - self + Self { overlay } } /// Applies a transformation to the produced message of the [`Element`]. @@ -57,8 +38,6 @@ where B: 'a, { Element { - position: self.position, - translation: self.translation, overlay: Box::new(Map::new(self.overlay, f)), } } @@ -68,14 +47,8 @@ where &mut self, renderer: &Renderer, bounds: Size, - translation: Vector, ) -> layout::Node { - self.overlay.layout( - renderer, - bounds, - self.position + translation, - self.translation + translation, - ) + self.overlay.layout(renderer, bounds) } /// Processes a runtime [`Event`]. @@ -165,14 +138,8 @@ impl<'a, A, B, Theme, Renderer> Overlay<B, Theme, Renderer> where Renderer: crate::Renderer, { - fn layout( - &mut self, - renderer: &Renderer, - bounds: Size, - position: Point, - translation: Vector, - ) -> layout::Node { - self.content.layout(renderer, bounds, position, translation) + fn layout(&mut self, renderer: &Renderer, bounds: Size) -> layout::Node { + self.content.layout(renderer, bounds) } fn operate( diff --git a/core/src/overlay/group.rs b/core/src/overlay/group.rs index 4e54a002..7e4bebd0 100644 --- a/core/src/overlay/group.rs +++ b/core/src/overlay/group.rs @@ -4,9 +4,7 @@ use crate::mouse; use crate::overlay; use crate::renderer; use crate::widget; -use crate::{ - Clipboard, Event, Layout, Overlay, Point, Rectangle, Shell, Size, Vector, -}; +use crate::{Clipboard, Event, Layout, Overlay, Point, Rectangle, Shell, Size}; /// An [`Overlay`] container that displays multiple overlay [`overlay::Element`] /// children. @@ -44,7 +42,7 @@ where /// Turns the [`Group`] into an overlay [`overlay::Element`]. pub fn overlay(self) -> overlay::Element<'a, Message, Theme, Renderer> { - overlay::Element::new(Point::ORIGIN, Box::new(self)) + overlay::Element::new(Box::new(self)) } } @@ -65,18 +63,12 @@ impl<'a, Message, Theme, Renderer> Overlay<Message, Theme, Renderer> where Renderer: crate::Renderer, { - fn layout( - &mut self, - renderer: &Renderer, - bounds: Size, - _position: Point, - translation: Vector, - ) -> layout::Node { + fn layout(&mut self, renderer: &Renderer, bounds: Size) -> layout::Node { layout::Node::with_children( bounds, self.children .iter_mut() - .map(|child| child.layout(renderer, bounds, translation)) + .map(|child| child.layout(renderer, bounds)) .collect(), ) } |