summaryrefslogtreecommitdiffstats
path: root/widget/src/button.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--widget/src/button.rs23
1 files changed, 9 insertions, 14 deletions
diff --git a/widget/src/button.rs b/widget/src/button.rs
index 5727c631..1788b6c4 100644
--- a/widget/src/button.rs
+++ b/widget/src/button.rs
@@ -159,19 +159,15 @@ where
fn layout(
&self,
+ tree: &Tree,
renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
- layout(
- renderer,
- limits,
- self.width,
- self.height,
- self.padding,
- |renderer, limits| {
- self.content.as_widget().layout(renderer, limits)
- },
- )
+ layout(limits, self.width, self.height, self.padding, |limits| {
+ self.content
+ .as_widget()
+ .layout(&tree.children[0], renderer, limits)
+ })
}
fn operate(
@@ -426,17 +422,16 @@ where
}
/// Computes the layout of a [`Button`].
-pub fn layout<Renderer>(
- renderer: &Renderer,
+pub fn layout(
limits: &layout::Limits,
width: Length,
height: Length,
padding: Padding,
- layout_content: impl FnOnce(&Renderer, &layout::Limits) -> layout::Node,
+ layout_content: impl FnOnce(&layout::Limits) -> layout::Node,
) -> layout::Node {
let limits = limits.width(width).height(height);
- let mut content = layout_content(renderer, &limits.pad(padding));
+ let mut content = layout_content(&limits.pad(padding));
let padding = padding.fit(content.size(), limits.max());
let size = limits.pad(padding).resolve(content.size()).pad(padding);