diff options
author | 2023-03-16 20:23:25 +0100 | |
---|---|---|
committer | 2024-01-04 06:51:21 +0100 | |
commit | 0655a20ad119e2e9790afcc45039fd4ac0e7d432 (patch) | |
tree | 0ce316e386e5b47b6ca80fe16f0a384ef05ff4e8 /widget/src/button.rs | |
parent | 68c0484b5cf6f572e4cb0bf72c22c1a93dbb654e (diff) | |
download | iced-0655a20ad119e2e9790afcc45039fd4ac0e7d432.tar.gz iced-0655a20ad119e2e9790afcc45039fd4ac0e7d432.tar.bz2 iced-0655a20ad119e2e9790afcc45039fd4ac0e7d432.zip |
Make `Shrink` have priority over `Fill` in layout
Diffstat (limited to 'widget/src/button.rs')
-rw-r--r-- | widget/src/button.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/widget/src/button.rs b/widget/src/button.rs index 384a3156..ba68caa5 100644 --- a/widget/src/button.rs +++ b/widget/src/button.rs @@ -433,13 +433,18 @@ pub fn layout( ) -> layout::Node { let limits = limits.width(width).height(height); - let mut content = layout_content(&limits.pad(padding)); + let content = layout_content(&limits.shrink(padding)); let padding = padding.fit(content.size(), limits.max()); - let size = limits.pad(padding).resolve(content.size()).pad(padding); - content.move_to(Point::new(padding.left, padding.top)); + let size = limits + .shrink(padding) + .resolve(content.size(), width, height) + .expand(padding); - layout::Node::with_children(size, vec![content]) + layout::Node::with_children( + size, + vec![content.move_to(Point::new(padding.left, padding.top))], + ) } /// Returns the [`mouse::Interaction`] of a [`Button`]. |