From 0cdf17216f47312f634d2dea8db237118ede72ce Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 16 Nov 2021 18:15:47 +0100 Subject: Abstraction for fr resolving --- src/library/stack.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/library/stack.rs') diff --git a/src/library/stack.rs b/src/library/stack.rs index b97964db..61406e8e 100644 --- a/src/library/stack.rs +++ b/src/library/stack.rs @@ -204,7 +204,7 @@ impl<'a> StackLayouter<'a> { // Expand fully if there are fr spacings. let full = self.full.get(self.axis); - if !self.fr.is_zero() && full.is_finite() { + if self.fr.get() > 0.0 && full.is_finite() { size.set(self.axis, full); } @@ -216,11 +216,8 @@ impl<'a> StackLayouter<'a> { match item { StackItem::Absolute(v) => before += v, StackItem::Fractional(v) => { - let ratio = v / self.fr; let remaining = self.full.get(self.axis) - self.used.block; - if remaining.is_finite() && ratio.is_finite() { - before += ratio * remaining; - } + before += v.resolve(self.fr, remaining) } StackItem::Frame(frame) => { let parent = size.get(self.axis); -- cgit v1.2.3