summaryrefslogtreecommitdiff
path: root/src/library/maps
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-12-15 15:09:09 +0100
committerLaurenz <laurmaedje@gmail.com>2019-12-15 15:09:09 +0100
commitf3e461b27c70d34e12f3bcb11cc340a88fc7f102 (patch)
tree5d8e21f21aa918bd5ca2c2c8654564f25ab4cd6d /src/library/maps
parent3677e4a97dd08252e2e1172ac60a5ab958f8ee16 (diff)
Paper styles and scalable+default margins 📜
Diffstat (limited to 'src/library/maps')
-rw-r--r--src/library/maps/axis.rs2
-rw-r--r--src/library/maps/mod.rs2
-rw-r--r--src/library/maps/padding.rs9
3 files changed, 7 insertions, 6 deletions
diff --git a/src/library/maps/axis.rs b/src/library/maps/axis.rs
index a177a324..ca306eab 100644
--- a/src/library/maps/axis.rs
+++ b/src/library/maps/axis.rs
@@ -46,7 +46,7 @@ impl<E: ExpressionKind + Copy> ExtentMap<E> {
let mut map = ConsistentMap::new();
for arg in args.keys() {
- let key = match arg.v.key.v.0.as_str() {
+ let key = match arg.v.key.v.as_str() {
"width" | "w" => AxisKey::Specific(Horizontal),
"height" | "h" => AxisKey::Specific(Vertical),
"primary-size" | "ps" => AxisKey::Generic(Primary),
diff --git a/src/library/maps/mod.rs b/src/library/maps/mod.rs
index 284c7181..5b027824 100644
--- a/src/library/maps/mod.rs
+++ b/src/library/maps/mod.rs
@@ -10,7 +10,7 @@ macro_rules! key {
impl $type {
/// Parse this key from an identifier.
pub fn from_ident(ident: &Spanned<Ident>) -> ParseResult<Self> {
- Ok(match ident.v.0.as_str() {
+ Ok(match ident.v.as_str() {
$($patterns)*
_ => error!("expected {}", <Self as ExpressionKind>::NAME),
})
diff --git a/src/library/maps/padding.rs b/src/library/maps/padding.rs
index 37f2ba4a..3da469a7 100644
--- a/src/library/maps/padding.rs
+++ b/src/library/maps/padding.rs
@@ -39,17 +39,17 @@ key!(PaddingKey<AxisKey>, "axis or side",
/// A map for storing padding at sides.
#[derive(Debug, Clone, PartialEq)]
-pub struct PaddingMap(ConsistentMap<PaddingKey<AxisKey>, Size>);
+pub struct PaddingMap(ConsistentMap<PaddingKey<AxisKey>, Option<PSize>>);
impl PaddingMap {
/// Parse a padding map from the function args.
pub fn new(args: &mut FuncArgs) -> ParseResult<PaddingMap> {
let mut map = ConsistentMap::new();
- map.add_opt(PaddingKey::All, args.get_pos_opt::<Size>()?)?;
+ map.add_opt(PaddingKey::All, args.get_pos_opt::<Option<PSize>>()?)?;
for arg in args.keys() {
let key = PaddingKey::from_ident(&arg.v.key)?;
- let size = Size::from_expr(arg.v.value)?;
+ let size = Option::<PSize>::from_expr(arg.v.value)?;
map.add(key, size)?;
}
@@ -57,7 +57,8 @@ impl PaddingMap {
}
/// Apply the specified padding on the size box.
- pub fn apply(&self, axes: LayoutAxes, padding: &mut SizeBox) -> LayoutResult<()> {
+ pub fn apply(&self, axes: LayoutAxes, padding: &mut ValueBox<Option<PSize>>)
+ -> LayoutResult<()> {
use PaddingKey::*;
let map = self.0.dedup(|key, &val| {