diff options
author | 2023-02-25 21:28:21 +0100 | |
---|---|---|
committer | 2023-02-25 21:28:21 +0100 | |
commit | 871b7e0311c73358213aae6326973300f0b56faa (patch) | |
tree | aab1e165e7938c8b9de5b9c929f723ff13ec1e89 /core/src/padding.rs | |
parent | 573d27eb52bbfacf1b06983b4282f00eb5265bdc (diff) | |
download | iced-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.rs | 10 |
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), } } } |