summaryrefslogtreecommitdiff
path: root/src/library/layout/pad.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-04-08 15:08:26 +0200
committerLaurenz <laurmaedje@gmail.com>2022-04-08 15:45:14 +0200
commit712c00ecb72b67da2c0788e5d3eb4dcc6366b2a7 (patch)
treef5d7ef4341a4728c980d020cc173fa6bb70feaff /src/library/layout/pad.rs
parent977ac77e6a3298be2644a8231e93acbef9f7f396 (diff)
Em units
Diffstat (limited to 'src/library/layout/pad.rs')
-rw-r--r--src/library/layout/pad.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/library/layout/pad.rs b/src/library/layout/pad.rs
index b7470540..e688e423 100644
--- a/src/library/layout/pad.rs
+++ b/src/library/layout/pad.rs
@@ -4,7 +4,7 @@ use crate::library::prelude::*;
#[derive(Debug, Hash)]
pub struct PadNode {
/// The amount of padding.
- pub padding: Sides<Relative<Length>>,
+ pub padding: Sides<Relative<RawLength>>,
/// The child node whose sides to pad.
pub child: LayoutNode,
}
@@ -33,14 +33,15 @@ impl Layout for PadNode {
styles: StyleChain,
) -> TypResult<Vec<Arc<Frame>>> {
// Layout child into padded regions.
- let pod = regions.map(|size| shrink(size, self.padding));
+ let padding = self.padding.resolve(styles);
+ let pod = regions.map(|size| shrink(size, padding));
let mut frames = self.child.layout(ctx, &pod, styles)?;
for frame in &mut frames {
// Apply the padding inversely such that the grown size padded
// yields the frame's size.
- let padded = grow(frame.size, self.padding);
- let padding = self.padding.resolve(padded);
+ let padded = grow(frame.size, padding);
+ let padding = padding.relative_to(padded);
let offset = Point::new(padding.left, padding.top);
// Grow the frame and translate everything in the frame inwards.
@@ -55,7 +56,7 @@ impl Layout for PadNode {
/// Shrink a size by padding relative to the size itself.
fn shrink(size: Size, padding: Sides<Relative<Length>>) -> Size {
- size - padding.resolve(size).sum_by_axis()
+ size - padding.relative_to(size).sum_by_axis()
}
/// Grow a size by padding relative to the grown size.