summaryrefslogtreecommitdiff
path: root/src/library/stack.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-11-16 18:15:47 +0100
committerLaurenz <laurmaedje@gmail.com>2021-11-16 18:15:47 +0100
commit0cdf17216f47312f634d2dea8db237118ede72ce (patch)
tree1aa53f44f12da2f4473e72f166ecca380e72b4bb /src/library/stack.rs
parent79638d4bbdc140a8dca0ccfdf70ffd607d5da251 (diff)
Abstraction for fr resolving
Diffstat (limited to 'src/library/stack.rs')
-rw-r--r--src/library/stack.rs7
1 files changed, 2 insertions, 5 deletions
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);