summaryrefslogtreecommitdiff
path: root/src/eval
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-10-13 13:51:58 +0200
committerLaurenz <laurmaedje@gmail.com>2020-10-13 13:51:58 +0200
commit91e512069396f1de616ec2b0fe0cd31a76e7f2e9 (patch)
tree204ef6032dd4d22b38236d4d85fc95c97e7a9f37 /src/eval
parent8680fcd4903b451909a5932e8b948a68c9aacb16 (diff)
BoxAlign and Flow aliases ✏
Diffstat (limited to 'src/eval')
-rw-r--r--src/eval/mod.rs38
-rw-r--r--src/eval/state.rs12
2 files changed, 25 insertions, 25 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs
index e1fa8c1a..2cff835b 100644
--- a/src/eval/mod.rs
+++ b/src/eval/mod.rs
@@ -22,7 +22,7 @@ use fontdock::FontStyle;
use crate::diag::Diag;
use crate::diag::{Deco, Feedback, Pass};
-use crate::geom::{Align, Dir, Gen, Length, Linear, Relative, Sides, Size};
+use crate::geom::{BoxAlign, Flow, Gen, Length, Linear, Relative, Sides, Size};
use crate::layout::{
Document, Expansion, LayoutNode, Pad, Pages, Par, Softness, Spacing, Stack, Text,
};
@@ -122,8 +122,8 @@ impl EvalContext {
self.start_group(PageGroup {
size: self.state.page.size,
padding: self.state.page.margins(),
- dirs: self.state.dirs,
- aligns: self.state.aligns,
+ flow: self.state.flow,
+ align: self.state.align,
hard,
});
self.start_par_group();
@@ -141,9 +141,9 @@ impl EvalContext {
child: LayoutNode::dynamic(Pad {
padding: group.padding,
child: LayoutNode::dynamic(Stack {
- dirs: group.dirs,
- aligns: group.aligns,
- expansion: Gen::new(Expansion::Fill, Expansion::Fill),
+ flow: group.flow,
+ align: group.align,
+ expansion: Gen::uniform(Expansion::Fill),
children,
}),
}),
@@ -171,8 +171,8 @@ impl EvalContext {
pub fn start_par_group(&mut self) {
let em = self.state.font.font_size();
self.start_group(ParGroup {
- dirs: self.state.dirs,
- aligns: self.state.aligns,
+ flow: self.state.flow,
+ align: self.state.align,
line_spacing: self.state.par.line_spacing.resolve(em),
});
}
@@ -185,8 +185,8 @@ impl EvalContext {
// better.
let cross_expansion = Expansion::fill_if(self.groups.len() <= 1);
self.push(Par {
- dirs: group.dirs,
- aligns: group.aligns,
+ flow: group.flow,
+ align: group.align,
cross_expansion,
line_spacing: group.line_spacing,
children,
@@ -242,11 +242,11 @@ impl EvalContext {
Text {
text,
- dir: self.state.dirs.cross,
+ align: self.state.align,
+ dir: self.state.flow.cross,
font_size: self.state.font.font_size(),
families: Rc::clone(&self.state.font.families),
variant,
- aligns: self.state.aligns,
}
}
}
@@ -255,8 +255,8 @@ impl EvalContext {
struct PageGroup {
size: Size,
padding: Sides<Linear>,
- dirs: Gen<Dir>,
- aligns: Gen<Align>,
+ flow: Flow,
+ align: BoxAlign,
hard: bool,
}
@@ -265,8 +265,8 @@ struct ContentGroup;
/// A group for paragraphs.
struct ParGroup {
- dirs: Gen<Dir>,
- aligns: Gen<Align>,
+ flow: Flow,
+ align: BoxAlign,
line_spacing: Length,
}
@@ -370,9 +370,9 @@ impl Eval for NodeRaw {
}
ctx.push(Stack {
- dirs: ctx.state.dirs,
- aligns: ctx.state.aligns,
- expansion: Gen::new(Expansion::Fit, Expansion::Fit),
+ flow: ctx.state.flow,
+ align: ctx.state.align,
+ expansion: Gen::uniform(Expansion::Fit),
children,
});
diff --git a/src/eval/state.rs b/src/eval/state.rs
index 521e8c12..cb4a5eb9 100644
--- a/src/eval/state.rs
+++ b/src/eval/state.rs
@@ -5,7 +5,7 @@ use std::rc::Rc;
use fontdock::{fallback, FallbackTree, FontStretch, FontStyle, FontVariant, FontWeight};
use super::Scope;
-use crate::geom::{Align, Dir, Gen, Length, Linear, Relative, Sides, Size};
+use crate::geom::{Align, BoxAlign, Dir, Flow, Length, Linear, Relative, Sides, Size};
use crate::paper::{Paper, PaperClass, PAPER_A4};
/// The active evaluation state.
@@ -20,9 +20,9 @@ pub struct State {
/// The font state.
pub font: FontState,
/// The active layouting directions.
- pub dirs: Gen<Dir>,
- /// The active alignments.
- pub aligns: Gen<Align>,
+ pub flow: Flow,
+ /// The active box alignments.
+ pub align: BoxAlign,
}
impl Default for State {
@@ -32,8 +32,8 @@ impl Default for State {
page: PageState::default(),
par: ParState::default(),
font: FontState::default(),
- dirs: Gen::new(Dir::TTB, Dir::LTR),
- aligns: Gen::new(Align::Start, Align::Start),
+ flow: Flow::new(Dir::TTB, Dir::LTR),
+ align: BoxAlign::new(Align::Start, Align::Start),
}
}
}