From c18caca80f2dfc212e315b9d67289c976e95d2da Mon Sep 17 00:00:00 2001 From: Tobias Schmitz Date: Mon, 12 May 2025 18:10:23 +0200 Subject: [PATCH] refactor: reorder items --- crates/typst-layout/src/modifiers.rs | 70 ++++++++++++++-------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/crates/typst-layout/src/modifiers.rs b/crates/typst-layout/src/modifiers.rs index efc5f08e0..399c09d5a 100644 --- a/crates/typst-layout/src/modifiers.rs +++ b/crates/typst-layout/src/modifiers.rs @@ -37,41 +37,6 @@ impl FrameModifiers { } } -fn modify_frame( - frame: &mut Frame, - modifiers: &FrameModifiers, - link_box_outset: Option>, -) { - if let Some(dest) = &modifiers.dest { - let mut pos = Point::zero(); - let mut size = frame.size(); - if let Some(outset) = link_box_outset { - pos.y -= outset.top; - pos.x -= outset.left; - size += outset.sum_by_axis(); - } - frame.push(pos, FrameItem::Link(dest.clone(), size)); - } - - if modifiers.hidden { - frame.hide(); - } -} - -pub trait FrameModifyText { - /// Resolve and apply [`FrameModifiers`] for this text frame. - fn modify_text(&mut self, styles: StyleChain); -} - -impl FrameModifyText for Frame { - fn modify_text(&mut self, styles: StyleChain) { - let modifiers = FrameModifiers::get_in(styles); - let expand_y = Em::new(0.25).resolve(styles); - let outset = Sides::new(Abs::zero(), expand_y, Abs::zero(), expand_y); - modify_frame(self, &modifiers, Some(outset)); - } -} - /// Applies [`FrameModifiers`]. pub trait FrameModify { /// Apply the modifiers in-place. @@ -112,6 +77,41 @@ where } } +pub trait FrameModifyText { + /// Resolve and apply [`FrameModifiers`] for this text frame. + fn modify_text(&mut self, styles: StyleChain); +} + +impl FrameModifyText for Frame { + fn modify_text(&mut self, styles: StyleChain) { + let modifiers = FrameModifiers::get_in(styles); + let expand_y = Em::new(0.25).resolve(styles); + let outset = Sides::new(Abs::zero(), expand_y, Abs::zero(), expand_y); + modify_frame(self, &modifiers, Some(outset)); + } +} + +fn modify_frame( + frame: &mut Frame, + modifiers: &FrameModifiers, + link_box_outset: Option>, +) { + if let Some(dest) = &modifiers.dest { + let mut pos = Point::zero(); + let mut size = frame.size(); + if let Some(outset) = link_box_outset { + pos.y -= outset.top; + pos.x -= outset.left; + size += outset.sum_by_axis(); + } + frame.push(pos, FrameItem::Link(dest.clone(), size)); + } + + if modifiers.hidden { + frame.hide(); + } +} + /// Performs layout and modification in one step. /// /// This just runs `layout(styles).modified(&FrameModifiers::get_in(styles))`,