summaryrefslogtreecommitdiffstats
path: root/widget/src/lazy
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-01 01:08:21 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-01 01:08:21 +0100
commit738aa47547818ebf57dc4f00099386a5a22a86d5 (patch)
tree4f262c1bc4d9b55f030146ec2a6f9b6cc421a6c5 /widget/src/lazy
parent7bbe4502170be1942c4e61d222e14401f724aa42 (diff)
downloadiced-738aa47547818ebf57dc4f00099386a5a22a86d5.tar.gz
iced-738aa47547818ebf57dc4f00099386a5a22a86d5.tar.bz2
iced-738aa47547818ebf57dc4f00099386a5a22a86d5.zip
Remove `position` from `overlay::Element`
Diffstat (limited to '')
-rw-r--r--widget/src/lazy.rs23
-rw-r--r--widget/src/lazy/component.rs31
-rw-r--r--widget/src/lazy/responsive.rs23
3 files changed, 20 insertions, 57 deletions
diff --git a/widget/src/lazy.rs b/widget/src/lazy.rs
index dda6162b..eb663ea5 100644
--- a/widget/src/lazy.rs
+++ b/widget/src/lazy.rs
@@ -259,6 +259,7 @@ where
tree: &'b mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
+ translation: Vector,
) -> Option<overlay::Element<'_, Message, Theme, Renderer>> {
let overlay = Overlay(Some(
InnerBuilder {
@@ -275,18 +276,14 @@ where
overlay_builder: |element, tree| {
element
.as_widget_mut()
- .overlay(tree, layout, renderer)
+ .overlay(tree, layout, renderer, translation)
.map(|overlay| RefCell::new(Nested::new(overlay)))
},
}
.build(),
));
- let has_overlay =
- overlay.with_overlay_maybe(|overlay| overlay.position());
-
- has_overlay
- .map(|position| overlay::Element::new(position, Box::new(overlay)))
+ Some(overlay::Element::new(Box::new(overlay)))
}
}
@@ -339,17 +336,9 @@ impl<'a, Message, Theme, Renderer> overlay::Overlay<Message, Theme, Renderer>
where
Renderer: core::Renderer,
{
- 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(
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(
diff --git a/widget/src/lazy/responsive.rs b/widget/src/lazy/responsive.rs
index 9875b24e..44312a21 100644
--- a/widget/src/lazy/responsive.rs
+++ b/widget/src/lazy/responsive.rs
@@ -279,6 +279,7 @@ where
tree: &'b mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
+ translation: Vector,
) -> Option<overlay::Element<'b, Message, Theme, Renderer>> {
use std::ops::DerefMut;
@@ -309,17 +310,13 @@ where
element
.as_widget_mut()
- .overlay(tree, content_layout, renderer)
+ .overlay(tree, content_layout, renderer, translation)
.map(|overlay| RefCell::new(Nested::new(overlay)))
},
}
.build();
- let has_overlay =
- overlay.with_overlay_maybe(|overlay| overlay.position());
-
- has_overlay
- .map(|position| overlay::Element::new(position, Box::new(overlay)))
+ Some(overlay::Element::new(Box::new(overlay)))
}
}
@@ -375,17 +372,9 @@ impl<'a, 'b, Message, Theme, Renderer>
where
Renderer: core::Renderer,
{
- 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(