From 7660978ee5d842648e244e2972273264d94ca37b Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 12 Jun 2022 17:45:52 +0200 Subject: Move `Arc` into `Frame` --- src/library/layout/stack.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/library/layout/stack.rs') diff --git a/src/library/layout/stack.rs b/src/library/layout/stack.rs index 5d3e1786..b1268404 100644 --- a/src/library/layout/stack.rs +++ b/src/library/layout/stack.rs @@ -30,7 +30,7 @@ impl Layout for StackNode { ctx: &mut Context, regions: &Regions, styles: StyleChain, - ) -> TypResult>> { + ) -> TypResult> { let mut layouter = StackLayouter::new(self.dir, regions, styles); // Spacing to insert before the next node. @@ -107,7 +107,7 @@ pub struct StackLayouter<'a> { /// fractional spacing. items: Vec, /// Finished frames for previous regions. - finished: Vec>, + finished: Vec, } /// A prepared item in a stack layout. @@ -117,7 +117,7 @@ enum StackItem { /// Fractional spacing between other items. Fractional(Fraction), /// A frame for a layouted child node. - Frame(Arc, Align), + Frame(Frame, Align), } impl<'a> StackLayouter<'a> { @@ -196,9 +196,7 @@ impl<'a> StackLayouter<'a> { let len = frames.len(); for (i, mut frame) in frames.into_iter().enumerate() { // Set the generic block role. - if frame.role().map_or(true, Role::is_weak) { - Arc::make_mut(&mut frame).apply_role(Role::GenericBlock); - } + frame.apply_role(Role::GenericBlock); // Grow our size, shrink the region and save the frame for later. let size = frame.size().to_gen(self.axis); @@ -268,11 +266,11 @@ impl<'a> StackLayouter<'a> { self.full = self.regions.first; self.used = Gen::zero(); self.fr = Fraction::zero(); - self.finished.push(Arc::new(output)); + self.finished.push(output); } /// Finish layouting and return the resulting frames. - pub fn finish(mut self) -> Vec> { + pub fn finish(mut self) -> Vec { self.finish_region(); self.finished } -- cgit v1.2.3