diff options
| author | Laurenz <laurmaedje@gmail.com> | 2019-11-17 12:07:33 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2019-11-17 12:09:18 +0100 |
| commit | 1f009b5b95cbc31fb0a05a7f72ee6f5f53ece19a (patch) | |
| tree | 32d73d1d1157f776d7fa0b7050c7689fc5b40ac0 /src | |
| parent | 467d7203ee67ce29ce9ba62c9406f5586cb5214a (diff) | |
Allow multiple subsequent spaces 📅
Diffstat (limited to 'src')
| -rw-r--r-- | src/layout/flex.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/layout/flex.rs b/src/layout/flex.rs index dfe38bba..286f6a30 100644 --- a/src/layout/flex.rs +++ b/src/layout/flex.rs @@ -139,6 +139,7 @@ impl FlexLayouter { match unit { FlexUnit::Boxed(boxed) => self.layout_box(boxed)?, FlexUnit::Space(space) => { + self.layout_space(); self.space = Some(space); } @@ -201,11 +202,7 @@ impl FlexLayouter { self.finish_run()?; } - if let Some(space) = self.space.take() { - if self.run.size.x > Size::zero() && self.run.size.x + space <= self.usable { - self.run.size.x += space; - } - } + self.layout_space(); self.run.content.push((self.run.size.x, boxed)); self.run.size.x += size.x; @@ -214,6 +211,14 @@ impl FlexLayouter { Ok(()) } + fn layout_space(&mut self) { + if let Some(space) = self.space.take() { + if self.run.size.x > Size::zero() && self.run.size.x + space <= self.usable { + self.run.size.x += space; + } + } + } + fn layout_set_axes(&mut self, axes: LayoutAxes) { // TODO } |
