summaryrefslogtreecommitdiffstats
path: root/core/src/length.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-27 01:21:02 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-27 01:21:02 +0100
commit01fbd5049d09b44369b7cd1f283c473afda5d2be (patch)
treea2aa54b131835f757220efd0f9310349e9330aca /core/src/length.rs
parent58a7007ac194f66c20a6ec8e9c5ae477ab21b622 (diff)
downloadiced-01fbd5049d09b44369b7cd1f283c473afda5d2be.tar.gz
iced-01fbd5049d09b44369b7cd1f283c473afda5d2be.tar.bz2
iced-01fbd5049d09b44369b7cd1f283c473afda5d2be.zip
Fix `Column` and `Row` fluidity being overridden by `push`
Diffstat (limited to 'core/src/length.rs')
-rw-r--r--core/src/length.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/core/src/length.rs b/core/src/length.rs
index 4c139895..5f24169f 100644
--- a/core/src/length.rs
+++ b/core/src/length.rs
@@ -48,12 +48,21 @@ impl Length {
/// Specifically:
/// - [`Length::Shrink`] if [`Length::Shrink`] or [`Length::Fixed`].
/// - [`Length::Fill`] otherwise.
- pub fn fluid(&self) -> Length {
+ pub fn fluid(&self) -> Self {
match self {
Length::Fill | Length::FillPortion(_) => Length::Fill,
Length::Shrink | Length::Fixed(_) => Length::Shrink,
}
}
+
+ /// Adapts the [`Length`] so it can contain the other [`Length`] and
+ /// match its fluidity.
+ pub fn enclose(self, other: Length) -> Self {
+ match (self, other) {
+ (Length::Shrink, Length::Fill | Length::FillPortion(_)) => other,
+ _ => self,
+ }
+ }
}
impl From<Pixels> for Length {