summaryrefslogtreecommitdiff
path: root/src/layout/flex.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-11-17 12:07:33 +0100
committerLaurenz <laurmaedje@gmail.com>2019-11-17 12:09:18 +0100
commit1f009b5b95cbc31fb0a05a7f72ee6f5f53ece19a (patch)
tree32d73d1d1157f776d7fa0b7050c7689fc5b40ac0 /src/layout/flex.rs
parent467d7203ee67ce29ce9ba62c9406f5586cb5214a (diff)
Allow multiple subsequent spaces 📅
Diffstat (limited to 'src/layout/flex.rs')
-rw-r--r--src/layout/flex.rs15
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
}