From 095fa52be5d7ed135f39553359e0253cfea6b71b Mon Sep 17 00:00:00 2001 From: Laurenz Date: Wed, 17 Nov 2021 23:09:23 +0100 Subject: Placed node --- src/library/align.rs | 26 +++++++++++++++----------- src/library/flow.rs | 35 +++++++++++++++++++++++++++++------ src/library/mod.rs | 7 +++++-- src/library/placed.rs | 39 +++++++++++++++++++++++++++++++++++++++ src/library/stack.rs | 11 +++++++---- src/library/transform.rs | 19 +++++++++---------- 6 files changed, 104 insertions(+), 33 deletions(-) create mode 100644 src/library/placed.rs (limited to 'src/library') diff --git a/src/library/align.rs b/src/library/align.rs index 591a4085..19c52f98 100644 --- a/src/library/align.rs +++ b/src/library/align.rs @@ -2,18 +2,8 @@ use super::prelude::*; /// `align`: Configure the alignment along the layouting axes. pub fn align(_: &mut EvalContext, args: &mut Args) -> TypResult { - let mut x = args.named("horizontal")?; - let mut y = args.named("vertical")?; - for Spanned { v, span } in args.all::>() { - match v.axis() { - None | Some(SpecAxis::Horizontal) if x.is_none() => x = Some(v), - None | Some(SpecAxis::Vertical) if y.is_none() => y = Some(v), - _ => bail!(span, "unexpected argument"), - } - } - + let Spec { x, y } = parse_aligns(args)?; let body = args.expect::