summaryrefslogtreecommitdiffstats
path: root/core/src/padding.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-25 21:28:21 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-25 21:28:21 +0100
commit871b7e0311c73358213aae6326973300f0b56faa (patch)
treeaab1e165e7938c8b9de5b9c929f723ff13ec1e89 /core/src/padding.rs
parent573d27eb52bbfacf1b06983b4282f00eb5265bdc (diff)
downloadiced-871b7e0311c73358213aae6326973300f0b56faa.tar.gz
iced-871b7e0311c73358213aae6326973300f0b56faa.tar.bz2
iced-871b7e0311c73358213aae6326973300f0b56faa.zip
Fix `Padding::fit` on irregular values for an axis
Diffstat (limited to 'core/src/padding.rs')
-rw-r--r--core/src/padding.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/core/src/padding.rs b/core/src/padding.rs
index 752b2b86..0b1bba13 100644
--- a/core/src/padding.rs
+++ b/core/src/padding.rs
@@ -77,12 +77,14 @@ impl Padding {
/// Fits the [`Padding`] between the provided `inner` and `outer` [`Size`].
pub fn fit(self, inner: Size, outer: Size) -> Self {
let available = (outer - inner).max(Size::ZERO);
+ let new_top = self.top.min(available.height);
+ let new_left = self.left.min(available.width);
Padding {
- top: self.top.min(available.height / 2.0),
- right: self.right.min(available.width / 2.0),
- bottom: self.bottom.min(available.height / 2.0),
- left: self.left.min(available.width / 2.0),
+ top: new_top,
+ bottom: self.bottom.min(available.height - new_top),
+ left: new_left,
+ right: self.right.min(available.width - new_left),
}
}
}