diff options
| author | Laurenz <laurmaedje@gmail.com> | 2024-01-17 21:50:35 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2024-01-17 21:53:20 +0100 |
| commit | 6ac71eeaf7b68dab07f75bd1a480810481fa9b73 (patch) | |
| tree | d452e7323200fe56d61a34b91c8b98826d60978c /crates/typst-render/src/lib.rs | |
| parent | 50741209a8f4c5e91d35281eb44b7425b3d022b2 (diff) | |
Add `Page` struct
To get rid of the Meta hack where numbering and things like that are stored in the frame.
Diffstat (limited to 'crates/typst-render/src/lib.rs')
| -rw-r--r-- | crates/typst-render/src/lib.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/typst-render/src/lib.rs b/crates/typst-render/src/lib.rs index 34e9b7b3..5718a7c0 100644 --- a/crates/typst-render/src/lib.rs +++ b/crates/typst-render/src/lib.rs @@ -13,6 +13,7 @@ use typst::introspection::Meta; use typst::layout::{ Abs, Axes, Frame, FrameItem, FrameKind, GroupItem, Point, Ratio, Size, Transform, }; +use typst::model::Document; use typst::text::{Font, TextItem}; use typst::visualize::{ Color, DashPattern, FixedStroke, Geometry, Gradient, Image, ImageKind, LineCap, @@ -39,19 +40,20 @@ pub fn render(frame: &Frame, pixel_per_pt: f32, fill: Color) -> sk::Pixmap { canvas } -/// Export multiple frames into a single raster image. +/// Export a document with potentially multiple pages into a single raster image. /// /// The padding will be added around and between the individual frames. pub fn render_merged( - frames: &[Frame], + document: &Document, pixel_per_pt: f32, frame_fill: Color, padding: Abs, padding_fill: Color, ) -> sk::Pixmap { - let pixmaps: Vec<_> = frames + let pixmaps: Vec<_> = document + .pages .iter() - .map(|frame| render(frame, pixel_per_pt, frame_fill)) + .map(|page| render(&page.frame, pixel_per_pt, frame_fill)) .collect(); let padding = (pixel_per_pt * padding.to_f32()).round() as u32; @@ -165,8 +167,6 @@ fn render_frame(canvas: &mut sk::Pixmap, state: State, frame: &Frame) { FrameItem::Meta(meta, _) => match meta { Meta::Link(_) => {} Meta::Elem(_) => {} - Meta::PageNumbering(_) => {} - Meta::PdfPageLabel(_) => {} Meta::Hide => {} }, } |
