diff options
| author | Laurenz <laurmaedje@gmail.com> | 2023-03-19 22:28:49 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2023-03-19 22:39:19 +0100 |
| commit | ab43bd802eafe33977a91893907e67553e099569 (patch) | |
| tree | af4dead92b143348f52e2e8f869df3f7dfd7322a /library/src/layout/stack.rs | |
| parent | d6aaae0cea1e79eecd85dc94ab85b9ad8eff48e8 (diff) | |
Renaming and refactoring
Diffstat (limited to 'library/src/layout/stack.rs')
| -rw-r--r-- | library/src/layout/stack.rs | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/library/src/layout/stack.rs b/library/src/layout/stack.rs index 1dd81a60..77cd3f8f 100644 --- a/library/src/layout/stack.rs +++ b/library/src/layout/stack.rs @@ -1,6 +1,4 @@ -use typst::model::StyledNode; - -use super::{AlignNode, Spacing}; +use super::{AlignElem, Spacing}; use crate::prelude::*; /// Arrange content and spacing horizontally or vertically. @@ -20,8 +18,8 @@ use crate::prelude::*; /// /// Display: Stack /// Category: layout -#[node(Layout)] -pub struct StackNode { +#[element(Layout)] +pub struct StackElem { /// The direction along which the items are stacked. Possible values are: /// /// - `{ltr}`: Left to right. @@ -39,7 +37,7 @@ pub struct StackNode { pub children: Vec<StackChild>, } -impl Layout for StackNode { +impl Layout for StackElem { fn layout( &self, vt: &mut Vt, @@ -73,7 +71,7 @@ impl Layout for StackNode { } } -/// A child of a stack node. +/// A child of a stack element. #[derive(Hash)] pub enum StackChild { /// Spacing between other children. @@ -196,14 +194,13 @@ impl<'a> StackLayouter<'a> { self.finish_region(); } - // Block-axis alignment of the `AlignNode` is respected - // by the stack node. - let aligns = if let Some(align) = block.to::<AlignNode>() { + // Block-axis alignment of the `AlignElement` is respected by stacks. + let aligns = if let Some(align) = block.to::<AlignElem>() { align.alignment(styles) - } else if let Some(styled) = block.to::<StyledNode>() { - AlignNode::alignment_in(styles.chain(&styled.styles())) + } else if let Some((_, local)) = block.to_styled() { + AlignElem::alignment_in(styles.chain(&local)) } else { - AlignNode::alignment_in(styles) + AlignElem::alignment_in(styles) } .resolve(styles); |
