diff options
| author | Martin Haug <mhaug@live.de> | 2021-06-27 12:28:40 +0200 |
|---|---|---|
| committer | Martin Haug <mhaug@live.de> | 2021-06-27 12:31:27 +0200 |
| commit | 6b6cdae7ce95681d6a1194be70b375494166a8c6 (patch) | |
| tree | 2fe370798919ee0d1d411c6cacc5518a76094ecd /src/layout/stack.rs | |
| parent | f64c772b6d969fa3aa1a7391a3d8118b21430434 (diff) | |
Testing for incremental
Also, constraint bugfixes.
Diffstat (limited to 'src/layout/stack.rs')
| -rw-r--r-- | src/layout/stack.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/layout/stack.rs b/src/layout/stack.rs index 2a0b2806..92a1337f 100644 --- a/src/layout/stack.rs +++ b/src/layout/stack.rs @@ -86,8 +86,8 @@ impl<'a> StackLayouter<'a> { Self { stack, main, + constraints: Constraints::new(expand), expand, - constraints: Constraints::new(regions.expand), regions, full, used: Gen::zero(), @@ -145,7 +145,10 @@ impl<'a> StackLayouter<'a> { while !self.regions.current.get(self.main).fits(size.main) && !self.regions.in_full_last() { - self.constraints.max.get_mut(self.main).set_min(size.main); + self.constraints + .max + .get_mut(self.main) + .set_min(size.main + self.used.main); self.finish_region(); } @@ -188,7 +191,9 @@ impl<'a> StackLayouter<'a> { // Make sure the stack's size satisfies the aspect ratio. if let Some(aspect) = self.stack.aspect { - self.constraints.exact = self.regions.current.to_spec().map(Some); + self.constraints.exact = self.full.to_spec().map(Some); + self.constraints.min = Spec::splat(None); + self.constraints.max = Spec::splat(None); let width = size .width .max(aspect.into_inner() * size.height) @@ -244,6 +249,6 @@ impl<'a> StackLayouter<'a> { self.used = Gen::zero(); self.ruler = Align::Start; self.finished.push(output.constrain(self.constraints)); - self.constraints = Constraints::new(self.regions.expand); + self.constraints = Constraints::new(expand); } } |
