summaryrefslogtreecommitdiff
path: root/src/library/flow.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/flow.rs
parent79638d4bbdc140a8dca0ccfdf70ffd607d5da251 (diff)
Abstraction for fr resolving
Diffstat (limited to 'src/library/flow.rs')
-rw-r--r--src/library/flow.rs7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/library/flow.rs b/src/library/flow.rs
index 25162d19..9fe8b95d 100644
--- a/src/library/flow.rs
+++ b/src/library/flow.rs
@@ -179,7 +179,7 @@ impl<'a> FlowLayouter<'a> {
// the region expands.
let size = Size::new(
if self.expand.x { self.full.w } else { self.used.w },
- if self.expand.y || (!self.fr.is_zero() && self.full.h.is_finite()) {
+ if self.expand.y || (self.fr.get() > 0.0 && self.full.h.is_finite()) {
self.full.h
} else {
self.used.h
@@ -196,11 +196,8 @@ impl<'a> FlowLayouter<'a> {
match item {
FlowItem::Absolute(v) => before += v,
FlowItem::Fractional(v) => {
- let ratio = v / self.fr;
let remaining = self.full.h - self.used.h;
- if remaining.is_finite() && ratio.is_finite() {
- before += ratio * remaining;
- }
+ before += v.resolve(self.fr, remaining);
}
FlowItem::Frame(frame, align) => {
ruler = ruler.max(align);