summaryrefslogtreecommitdiffstats
path: root/native/src/layout
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-12-21 07:11:52 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-12-21 07:18:20 +0100
commit2ec0a43c4a208e5d4f6f331193032d8d4fe53fb7 (patch)
tree8cacc94e6f7a5d49bd5579682fc73d9e9da129b6 /native/src/layout
parent26ed518fbead46440a3f52dbf017505c6cf4b597 (diff)
downloadiced-2ec0a43c4a208e5d4f6f331193032d8d4fe53fb7.tar.gz
iced-2ec0a43c4a208e5d4f6f331193032d8d4fe53fb7.tar.bz2
iced-2ec0a43c4a208e5d4f6f331193032d8d4fe53fb7.zip
Fix sneaky bug with padding in flex layout
Diffstat (limited to 'native/src/layout')
-rw-r--r--native/src/layout/flex.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/native/src/layout/flex.rs b/native/src/layout/flex.rs
index bc90553e..0ed17d41 100644
--- a/native/src/layout/flex.rs
+++ b/native/src/layout/flex.rs
@@ -74,8 +74,7 @@ where
{
let limits = limits.pad(padding);
- let mut total_non_fill =
- spacing as f32 * (items.len() as i32 - 1).max(0) as f32;
+ let mut total_non_fill = spacing * items.len().saturating_sub(1) as f32;
let mut fill_sum = 0;
let mut cross = axis.cross(limits.min());
@@ -166,13 +165,11 @@ where
main += axis.main(size);
}
- let (width, height) = axis.pack(main, cross);
+ let (width, height) = axis.pack(main - padding, cross);
let size = limits.resolve(Size::new(width, height));
- let (padding_x, padding_y) = axis.pack(padding, padding * 2.0);
-
Node::with_children(
- Size::new(size.width + padding_x, size.height + padding_y),
+ Size::new(size.width + padding * 2.0, size.height + padding * 2.0),
nodes,
)
}