From 738aa47547818ebf57dc4f00099386a5a22a86d5 Mon Sep 17 00:00:00 2001
From: Héctor Ramón Jiménez <hector@hecrj.dev>
Date: Thu, 1 Feb 2024 01:08:21 +0100
Subject: Remove `position` from `overlay::Element`

---
 widget/src/lazy/component.rs | 31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

(limited to 'widget/src/lazy/component.rs')

diff --git a/widget/src/lazy/component.rs b/widget/src/lazy/component.rs
index 30b1efed..edecbdaa 100644
--- a/widget/src/lazy/component.rs
+++ b/widget/src/lazy/component.rs
@@ -462,6 +462,7 @@ where
         tree: &'b mut Tree,
         layout: Layout<'_>,
         renderer: &Renderer,
+        translation: Vector,
     ) -> Option<overlay::Element<'b, Message, Theme, Renderer>> {
         self.rebuild_element_if_necessary();
         let tree = tree
@@ -486,6 +487,7 @@ where
                                     &mut tree.children[0],
                                     layout,
                                     renderer,
+                                    translation,
                                 )
                                 .map(|overlay| {
                                     RefCell::new(Nested::new(overlay))
@@ -497,18 +499,9 @@ where
             .build(),
         ));
 
-        let has_overlay = overlay.0.as_ref().unwrap().with_overlay(|overlay| {
-            overlay.as_ref().map(|nested| nested.borrow().position())
-        });
-
-        has_overlay.map(|position| {
-            overlay::Element::new(
-                position,
-                Box::new(OverlayInstance {
-                    overlay: Some(overlay),
-                }),
-            )
-        })
+        Some(overlay::Element::new(Box::new(OverlayInstance {
+            overlay: Some(overlay),
+        })))
     }
 }
 
@@ -582,17 +575,9 @@ where
     Renderer: core::Renderer,
     S: 'static + Default,
 {
-    fn layout(
-        &mut self,
-        renderer: &Renderer,
-        bounds: Size,
-        position: Point,
-        translation: Vector,
-    ) -> layout::Node {
-        self.with_overlay_maybe(|overlay| {
-            overlay.layout(renderer, bounds, position, translation)
-        })
-        .unwrap_or_default()
+    fn layout(&mut self, renderer: &Renderer, bounds: Size) -> layout::Node {
+        self.with_overlay_maybe(|overlay| overlay.layout(renderer, bounds))
+            .unwrap_or_default()
     }
 
     fn draw(
-- 
cgit