summaryrefslogtreecommitdiff
path: root/src/layout/nodes/document.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/nodes/document.rs')
-rw-r--r--src/layout/nodes/document.rs47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/layout/nodes/document.rs b/src/layout/nodes/document.rs
deleted file mode 100644
index 5c7a2410..00000000
--- a/src/layout/nodes/document.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-use super::*;
-
-/// The top-level layouting node.
-#[derive(Debug, Clone, PartialEq)]
-pub struct Document {
- pub runs: Vec<Pages>,
-}
-
-impl Document {
- /// Layout the document.
- pub async fn layout(&self, ctx: &mut LayoutContext) -> Vec<BoxLayout> {
- let mut layouts = vec![];
- for run in &self.runs {
- layouts.extend(run.layout(ctx).await);
- }
- layouts
- }
-}
-
-/// A variable-length run of pages that all have the same properties.
-#[derive(Debug, Clone, PartialEq)]
-pub struct Pages {
- /// The size of the pages.
- pub size: Size,
- /// The layout node that produces the actual pages.
- pub child: LayoutNode,
-}
-
-impl Pages {
- /// Layout the page run.
- pub async fn layout(&self, ctx: &mut LayoutContext) -> Vec<BoxLayout> {
- let constraints = LayoutConstraints {
- spaces: vec![LayoutSpace { base: self.size, size: self.size }],
- repeat: true,
- };
-
- self.child
- .layout(ctx, constraints)
- .await
- .into_iter()
- .filter_map(|item| match item {
- LayoutItem::Spacing(_) => None,
- LayoutItem::Box(layout, _) => Some(layout),
- })
- .collect()
- }
-}