summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-05-17 22:55:31 +0200
committerLaurenz <laurmaedje@gmail.com>2021-05-17 22:55:31 +0200
commitc975d0d5e989cca6eff8e80ca8174f85eb4a3460 (patch)
tree7aaf68ee71d81a1d71d7dcb1f928659bc6fa975d /src/library
parent24c4a746bc68874f2d1b0d1b726596930acaadcf (diff)
Tidy up layouting code
Diffstat (limited to 'src/library')
-rw-r--r--src/library/image.rs8
-rw-r--r--src/library/page.rs2
-rw-r--r--src/library/shapes.rs2
3 files changed, 5 insertions, 7 deletions
diff --git a/src/library/image.rs b/src/library/image.rs
index a7388abb..0287eaf5 100644
--- a/src/library/image.rs
+++ b/src/library/image.rs
@@ -46,15 +46,14 @@ struct ImageNode {
impl Layout for ImageNode {
fn layout(&self, _: &mut LayoutContext, areas: &Areas) -> Vec<Frame> {
- let Areas { current, full, .. } = areas;
+ let Areas { current, base, .. } = areas;
+ let width = self.width.map(|w| w.resolve(base.width));
+ let height = self.height.map(|w| w.resolve(base.height));
let pixel_width = self.dimensions.0 as f64;
let pixel_height = self.dimensions.1 as f64;
let pixel_ratio = pixel_width / pixel_height;
- let width = self.width.map(|w| w.resolve(full.width));
- let height = self.height.map(|w| w.resolve(full.height));
-
let size = match (width, height) {
(Some(width), Some(height)) => Size::new(width, height),
(Some(width), None) => Size::new(width, width / pixel_ratio),
@@ -75,7 +74,6 @@ impl Layout for ImageNode {
let mut frame = Frame::new(size, size.height);
frame.push(Point::ZERO, Element::Image(self.id, size));
-
vec![frame]
}
}
diff --git a/src/library/page.rs b/src/library/page.rs
index 7b8557be..1694b7d4 100644
--- a/src/library/page.rs
+++ b/src/library/page.rs
@@ -59,7 +59,7 @@ pub fn page(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value {
}
if let Some(margins) = margins {
- ctx.state.page.margins = Sides::uniform(Some(margins));
+ ctx.state.page.margins = Sides::splat(Some(margins));
}
if let Some(left) = left {
diff --git a/src/library/shapes.rs b/src/library/shapes.rs
index c87a0ac3..d6cdba8e 100644
--- a/src/library/shapes.rs
+++ b/src/library/shapes.rs
@@ -142,7 +142,7 @@ fn ellipse_impl(
width,
height,
child: PadNode {
- padding: Sides::uniform(Relative::new(PAD).into()),
+ padding: Sides::splat(Relative::new(PAD).into()),
child: stack.into(),
}
.into(),