From 1f009b5b95cbc31fb0a05a7f72ee6f5f53ece19a Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 17 Nov 2019 12:07:33 +0100 Subject: [PATCH] =?UTF-8?q?Allow=20multiple=20subsequent=20spaces=20?= =?UTF-8?q?=F0=9F=93=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/flex.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/layout/flex.rs b/src/layout/flex.rs index dfe38bba5..286f6a304 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 }