summaryrefslogtreecommitdiff
path: root/src/library/mod.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-12-09 13:29:04 +0100
committerLaurenz <laurmaedje@gmail.com>2019-12-09 13:29:04 +0100
commit7e980224354880cfda1797136a1ff886d6642662 (patch)
treec0137dcca82526faa71fd1d980a90c68dac798c8 /src/library/mod.rs
parent64f938b449b7ff5e53b6a06ed943bf9dedc1014b (diff)
Bad stack layouter 🚑
Diffstat (limited to 'src/library/mod.rs')
-rw-r--r--src/library/mod.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/library/mod.rs b/src/library/mod.rs
index 293f9589..4439f137 100644
--- a/src/library/mod.rs
+++ b/src/library/mod.rs
@@ -8,6 +8,7 @@ use maps::*;
pub_use_mod!(align);
pub_use_mod!(boxed);
+pub_use_mod!(direction);
pub mod maps;
pub mod keys;
@@ -19,6 +20,7 @@ pub fn std() -> Scope {
std.add::<Align>("align");
std.add::<Boxed>("box");
+ std.add::<Direction>("direction");
std.add::<PageSize>("page.size");
std.add::<PageMargins>("page.margins");
@@ -78,7 +80,7 @@ function! {
/// `page.size`: Set the size of pages.
#[derive(Debug, PartialEq)]
pub struct PageSize {
- map: ExtentMap,
+ map: ExtentMap<Size>,
}
parse(args, body) {
@@ -90,7 +92,7 @@ function! {
layout(self, ctx) {
let mut style = ctx.style.page;
- self.map.apply(ctx.axes, &mut style.dimensions)?;
+ self.map.apply(ctx.axes, &mut style.dimensions, |&s| s)?;
vec![SetPageStyle(style)]
}
}
@@ -150,11 +152,7 @@ function! {
layout(self, ctx) {
let axis = self.axis.generic(ctx.axes);
- let spacing = match self.spacing {
- FSize::Absolute(size) => size,
- FSize::Scaled(scale) => scale * ctx.style.text.font_size,
- };
-
+ let spacing = self.spacing.concretize(ctx.style.text.font_size);
vec![AddSpacing(spacing, SpacingKind::Hard, axis)]
}
}