summaryrefslogtreecommitdiff
path: root/src/library/maps/padding.rs
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/padding.rs
parent3677e4a97dd08252e2e1172ac60a5ab958f8ee16 (diff)
Paper styles and scalable+default margins 📜
Diffstat (limited to 'src/library/maps/padding.rs')
-rw-r--r--src/library/maps/padding.rs9
1 files changed, 5 insertions, 4 deletions
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| {