diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-12-02 14:48:12 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-12-02 14:48:12 +0100 |
| commit | bfa9962632dd3c2e9110f9c3667d7e3cf6b133d4 (patch) | |
| tree | c48de05a4ae1e5c97eb4f6ddc9ede32ee65cf3ef /src/library/flow.rs | |
| parent | f3bdc9d3daca2c26c4cc745be48a5ce1c8a10641 (diff) | |
Remove baseline weirdness
Diffstat (limited to 'src/library/flow.rs')
| -rw-r--r-- | src/library/flow.rs | 22 |
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); } } } |
