summaryrefslogtreecommitdiff
path: root/src/library/flow.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-12-02 14:48:12 +0100
committerLaurenz <laurmaedje@gmail.com>2021-12-02 14:48:12 +0100
commitbfa9962632dd3c2e9110f9c3667d7e3cf6b133d4 (patch)
treec48de05a4ae1e5c97eb4f6ddc9ede32ee65cf3ef /src/library/flow.rs
parentf3bdc9d3daca2c26c4cc745be48a5ce1c8a10641 (diff)
Remove baseline weirdness
Diffstat (limited to 'src/library/flow.rs')
-rw-r--r--src/library/flow.rs22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/library/flow.rs b/src/library/flow.rs
index 9494d6c0..98b518b7 100644
--- a/src/library/flow.rs
+++ b/src/library/flow.rs
@@ -214,38 +214,28 @@ impl<'a> FlowLayouter<'a> {
}
let mut output = Frame::new(size);
- let mut before = Length::zero();
+ let mut offset = Length::zero();
let mut ruler = Align::Top;
- let mut first = true;
// Place all frames.
for item in self.items.drain(..) {
match item {
FlowItem::Absolute(v) => {
- before += v;
+ offset += v;
}
FlowItem::Fractional(v) => {
- before += v.resolve(self.fr, remaining);
+ offset += v.resolve(self.fr, remaining);
}
FlowItem::Frame(frame, aligns) => {
ruler = ruler.max(aligns.y);
-
- // Align horizontally and vertically.
let x = aligns.x.resolve(size.x - frame.size.x);
- let y = before + ruler.resolve(size.y - self.used.y);
+ let y = offset + ruler.resolve(size.y - self.used.y);
let pos = Point::new(x, y);
- before += frame.size.y;
-
- // The baseline of the flow is that of the first frame.
- if first {
- output.baseline = pos.y + frame.baseline;
- first = false;
- }
-
+ offset += frame.size.y;
output.push_frame(pos, frame);
}
FlowItem::Placed(frame) => {
- output.push_frame(Point::with_y(before), frame);
+ output.push_frame(Point::with_y(offset), frame);
}
}
}