diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-10-06 14:44:58 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-10-06 14:44:58 +0200 |
| commit | 985fe281665fb8dfac6d8ffaf8d09afb6eb1ef3e (patch) | |
| tree | a33f60263bb04af9fca8d28bb3c74287347739f8 /src/layout/line.rs | |
| parent | ef410f68771919cf7648d6ea3273336ba1988d1d (diff) | |
Fix bug in line layouter ✔
Diffstat (limited to 'src/layout/line.rs')
| -rw-r--r-- | src/layout/line.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/layout/line.rs b/src/layout/line.rs index acf143c0..c1b5920f 100644 --- a/src/layout/line.rs +++ b/src/layout/line.rs @@ -198,19 +198,17 @@ impl LineLayouter { pub fn finish_line(&mut self) { let mut layout = BoxLayout::new(self.run.size.specialized(self.ctx.dirs)); let aligns = self.run.aligns.unwrap_or_default(); + let cross = self.ctx.dirs.cross; let layouts = std::mem::take(&mut self.run.layouts); for (offset, child) in layouts { - let x = match self.ctx.dirs.cross.is_positive() { - true => offset, - false => { - self.run.size.width - - offset - - child.size.get(self.ctx.dirs.cross.axis()) - } + let mut pos = Point::ZERO; + *pos.get_mut(cross.axis()) = if cross.is_positive() { + offset + } else { + self.run.size.width - offset - child.size.get(cross.axis()) }; - let pos = Point::new(x, 0.0); layout.push_layout(pos, child); } |
