summaryrefslogtreecommitdiff
path: root/library/src/layout/stack.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-11-28 12:40:16 +0100
committerLaurenz <laurmaedje@gmail.com>2022-11-28 12:40:16 +0100
commit989d170dc7318ca3cbaa5b76760eb14f4e6a8605 (patch)
tree0a486ddb4d339b8a43313f7c6e18b9595b8fd955 /library/src/layout/stack.rs
parent7caf98fe42797eab59a39ef71071030c9790245a (diff)
Fragments
Diffstat (limited to 'library/src/layout/stack.rs')
-rw-r--r--library/src/layout/stack.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/library/src/layout/stack.rs b/library/src/layout/stack.rs
index c935d971..7de1d34a 100644
--- a/library/src/layout/stack.rs
+++ b/library/src/layout/stack.rs
@@ -15,7 +15,7 @@ pub struct StackNode {
pub children: Vec<StackChild>,
}
-#[node(LayoutBlock)]
+#[node(Layout)]
impl StackNode {
fn construct(_: &Vm, args: &mut Args) -> SourceResult<Content> {
Ok(Self {
@@ -27,13 +27,13 @@ impl StackNode {
}
}
-impl LayoutBlock for StackNode {
- fn layout_block(
+impl Layout for StackNode {
+ fn layout(
&self,
world: Tracked<dyn World>,
styles: StyleChain,
regions: &Regions,
- ) -> SourceResult<Vec<Frame>> {
+ ) -> SourceResult<Fragment> {
let mut layouter = StackLayouter::new(self.dir, regions, styles);
// Spacing to insert before the next block.
@@ -196,9 +196,9 @@ impl<'a> StackLayouter<'a> {
self.dir.start().into()
});
- let frames = block.layout_block(world, styles, &self.regions)?;
- let len = frames.len();
- for (i, frame) in frames.into_iter().enumerate() {
+ let fragment = block.layout(world, styles, &self.regions)?;
+ let len = fragment.len();
+ for (i, frame) in fragment.into_iter().enumerate() {
// Grow our size, shrink the region and save the frame for later.
let size = frame.size();
let size = match self.axis {
@@ -276,9 +276,9 @@ impl<'a> StackLayouter<'a> {
}
/// Finish layouting and return the resulting frames.
- fn finish(mut self) -> Vec<Frame> {
+ fn finish(mut self) -> Fragment {
self.finish_region();
- self.finished
+ Fragment::frames(self.finished)
}
}