summaryrefslogtreecommitdiff
path: root/src/layout/pad.rs
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2021-06-27 18:57:08 +0200
committerMartin Haug <mhaug@live.de>2021-06-27 18:58:31 +0200
commite9960b89424ab67e633076ccc9f8c420316b076a (patch)
treecdc2130d8b4265c52863f10418842d188afb63e8 /src/layout/pad.rs
parent6f518c172805b6ac067a692eb8971c7ec1e50608 (diff)
Code review: Reverse temperature
Diffstat (limited to 'src/layout/pad.rs')
-rw-r--r--src/layout/pad.rs17
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, &regions);
+ let mut regions = regions.clone();
+ let mut frames = self.child.layout(
+ ctx,
+ &regions.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(), &regions);
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
}
}