diff options
| author | Martin Haug <mhaug@live.de> | 2021-06-27 18:57:08 +0200 |
|---|---|---|
| committer | Martin Haug <mhaug@live.de> | 2021-06-27 18:58:31 +0200 |
| commit | e9960b89424ab67e633076ccc9f8c420316b076a (patch) | |
| tree | cdc2130d8b4265c52863f10418842d188afb63e8 /src/layout/pad.rs | |
| parent | 6f518c172805b6ac067a692eb8971c7ec1e50608 (diff) | |
Code review: Reverse temperature
Diffstat (limited to 'src/layout/pad.rs')
| -rw-r--r-- | src/layout/pad.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/layout/pad.rs b/src/layout/pad.rs index f886bec8..9461f3ff 100644 --- a/src/layout/pad.rs +++ b/src/layout/pad.rs @@ -15,10 +15,11 @@ impl Layout for PadNode { ctx: &mut LayoutContext, regions: &Regions, ) -> Vec<Constrained<Rc<Frame>>> { - let mut original = regions.clone(); - let mut regions = regions.map(|size| size - self.padding.resolve(size).size()); - - let mut frames = self.child.layout(ctx, ®ions); + let mut regions = regions.clone(); + let mut frames = self.child.layout( + ctx, + ®ions.map(|size| size - self.padding.resolve(size).size()), + ); for frame in &mut frames { let padded = solve(self.padding, frame.size); @@ -29,19 +30,19 @@ impl Layout for PadNode { let prev = std::mem::take(&mut frame.item); new.push_frame(origin, prev); - frame.constraints.mutate(padding.size(), &original); + frame.constraints.mutate(padding.size(), ®ions); if self.padding.left.is_relative() || self.padding.right.is_relative() { - frame.constraints.base.horizontal = Some(original.base.width); + frame.constraints.base.horizontal = Some(regions.base.width); } if self.padding.top.is_relative() || self.padding.bottom.is_relative() { - frame.constraints.base.vertical = Some(original.base.height); + frame.constraints.base.vertical = Some(regions.base.height); } regions.next(); - original.next(); *Rc::make_mut(&mut frame.item) = new; } + frames } } |
