diff options
author | 2019-12-21 07:11:52 +0100 | |
---|---|---|
committer | 2019-12-21 07:18:20 +0100 | |
commit | 2ec0a43c4a208e5d4f6f331193032d8d4fe53fb7 (patch) | |
tree | 8cacc94e6f7a5d49bd5579682fc73d9e9da129b6 /native/src/layout | |
parent | 26ed518fbead46440a3f52dbf017505c6cf4b597 (diff) | |
download | iced-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.rs | 9 |
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, ) } |