summaryrefslogtreecommitdiff
path: root/src/library/direction.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-12-12 23:33:26 +0100
committerLaurenz <laurmaedje@gmail.com>2019-12-12 23:33:26 +0100
commitf549914ff8d66e48e779d4d99898a224bd1ab701 (patch)
tree12dddf9feb18a39bc05aa69fe8d9b5eac802dfaf /src/library/direction.rs
parentff107cf3e75acf041f8b7631337d299cdeaa1685 (diff)
Refine and rename layouting types 🛀
Diffstat (limited to 'src/library/direction.rs')
-rw-r--r--src/library/direction.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/library/direction.rs b/src/library/direction.rs
index 7edad323..ac1fac08 100644
--- a/src/library/direction.rs
+++ b/src/library/direction.rs
@@ -5,25 +5,25 @@ use super::keys::AxisKey;
function! {
/// `direction`: Sets the directions of the layouting axes.
#[derive(Debug, PartialEq)]
- pub struct Direction {
+ pub struct DirectionChange {
body: Option<SyntaxTree>,
- map: ConsistentMap<AxisKey, Axis>,
+ map: ConsistentMap<AxisKey, Direction>,
}
parse(args, body, ctx) {
let mut map = ConsistentMap::new();
- map.add_opt_span(AxisKey::Primary, args.get_pos_opt::<Axis>()?)?;
- map.add_opt_span(AxisKey::Secondary, args.get_pos_opt::<Axis>()?)?;
+ map.add_opt_span(AxisKey::Primary, args.get_pos_opt::<Direction>()?)?;
+ map.add_opt_span(AxisKey::Secondary, args.get_pos_opt::<Direction>()?)?;
for arg in args.keys() {
let axis = AxisKey::from_ident(&arg.v.key)?;
- let value = Axis::from_expr(arg.v.value)?;
+ let value = Direction::from_expr(arg.v.value)?;
map.add(axis, value)?;
}
- Direction {
+ DirectionChange {
body: parse!(optional: body, ctx),
map,
}
@@ -34,17 +34,17 @@ function! {
let map = self.map.dedup(|key, &direction| {
Ok((match key {
- AxisKey::Primary => GenericAxisKind::Primary,
- AxisKey::Secondary => GenericAxisKind::Secondary,
- AxisKey::Horizontal => axes.horizontal(),
- AxisKey::Vertical => axes.vertical(),
+ AxisKey::Primary => Primary,
+ AxisKey::Secondary => Secondary,
+ AxisKey::Horizontal => Horizontal.to_generic(axes),
+ AxisKey::Vertical => Vertical.to_generic(axes),
}, direction))
})?;
- map.with(GenericAxisKind::Primary, |&val| ctx.axes.primary = val);
- map.with(GenericAxisKind::Secondary, |&val| ctx.axes.secondary = val);
+ map.with(Primary, |&val| ctx.axes.primary = val);
+ map.with(Secondary, |&val| ctx.axes.secondary = val);
- if ctx.axes.primary.is_horizontal() == ctx.axes.secondary.is_horizontal() {
+ if ctx.axes.primary.axis() == ctx.axes.secondary.axis() {
error!(
"aligned primary and secondary axes: `{}`, `{}`",
format!("{:?}", ctx.axes.primary).to_lowercase(),