summaryrefslogtreecommitdiff
path: root/src/export
diff options
context:
space:
mode:
Diffstat (limited to 'src/export')
-rw-r--r--src/export/pdf/font.rs1
-rw-r--r--src/export/pdf/image.rs3
-rw-r--r--src/export/pdf/mod.rs3
-rw-r--r--src/export/pdf/outline.rs2
-rw-r--r--src/export/pdf/page.rs4
5 files changed, 13 insertions, 0 deletions
diff --git a/src/export/pdf/font.rs b/src/export/pdf/font.rs
index ada5e05d..de79976a 100644
--- a/src/export/pdf/font.rs
+++ b/src/export/pdf/font.rs
@@ -9,6 +9,7 @@ use super::{deflate, EmExt, PdfContext, RefExt};
use crate::util::SliceExt;
/// Embed all used fonts into the PDF.
+#[tracing::instrument(skip_all)]
pub fn write_fonts(ctx: &mut PdfContext) {
for font in ctx.font_map.items() {
let type0_ref = ctx.alloc.bump();
diff --git a/src/export/pdf/image.rs b/src/export/pdf/image.rs
index e6eaa9c9..04d4dcc3 100644
--- a/src/export/pdf/image.rs
+++ b/src/export/pdf/image.rs
@@ -7,6 +7,7 @@ use super::{deflate, PdfContext, RefExt};
use crate::image::{DecodedImage, RasterFormat};
/// Embed all used images into the PDF.
+#[tracing::instrument(skip_all)]
pub fn write_images(ctx: &mut PdfContext) {
for image in ctx.image_map.items() {
let image_ref = ctx.alloc.bump();
@@ -67,6 +68,7 @@ pub fn write_images(ctx: &mut PdfContext) {
/// whether the image has color.
///
/// Skips the alpha channel as that's encoded separately.
+#[tracing::instrument(skip_all)]
fn encode_image(
format: RasterFormat,
dynamic: &DynamicImage,
@@ -111,6 +113,7 @@ fn encode_image(
}
/// Encode an image's alpha channel if present.
+#[tracing::instrument(skip_all)]
fn encode_alpha(dynamic: &DynamicImage) -> (Vec<u8>, Filter) {
let pixels: Vec<_> = dynamic.pixels().map(|(_, _, Rgba([_, _, _, a]))| a).collect();
(deflate(&pixels), Filter::FlateDecode)
diff --git a/src/export/pdf/mod.rs b/src/export/pdf/mod.rs
index 8fc76471..ffbf67a3 100644
--- a/src/export/pdf/mod.rs
+++ b/src/export/pdf/mod.rs
@@ -23,6 +23,7 @@ use crate::model::Introspector;
/// Export a document into a PDF file.
///
/// Returns the raw bytes making up the PDF file.
+#[tracing::instrument(skip_all)]
pub fn pdf(document: &Document) -> Vec<u8> {
let mut ctx = PdfContext::new(document);
page::construct_pages(&mut ctx, &document.pages);
@@ -79,6 +80,7 @@ impl<'a> PdfContext<'a> {
}
/// Write the document catalog.
+#[tracing::instrument(skip_all)]
fn write_catalog(ctx: &mut PdfContext) {
let lang = ctx
.languages
@@ -140,6 +142,7 @@ fn write_catalog(ctx: &mut PdfContext) {
}
/// Compress data with the DEFLATE algorithm.
+#[tracing::instrument(skip_all)]
fn deflate(data: &[u8]) -> Vec<u8> {
const COMPRESSION_LEVEL: u8 = 6;
miniz_oxide::deflate::compress_to_vec_zlib(data, COMPRESSION_LEVEL)
diff --git a/src/export/pdf/outline.rs b/src/export/pdf/outline.rs
index 03ca3b27..f8f12d71 100644
--- a/src/export/pdf/outline.rs
+++ b/src/export/pdf/outline.rs
@@ -8,6 +8,7 @@ use crate::model::Content;
use crate::util::NonZeroExt;
/// Construct the outline for the document.
+#[tracing::instrument(skip_all)]
pub fn write_outline(ctx: &mut PdfContext) -> Option<Ref> {
let mut tree: Vec<HeadingNode> = vec![];
for heading in ctx.introspector.query(&item!(heading_func).select()) {
@@ -81,6 +82,7 @@ impl HeadingNode {
}
/// Write an outline item and all its children.
+#[tracing::instrument(skip_all)]
fn write_outline_item(
ctx: &mut PdfContext,
node: &HeadingNode,
diff --git a/src/export/pdf/page.rs b/src/export/pdf/page.rs
index 94650a3f..e15f3750 100644
--- a/src/export/pdf/page.rs
+++ b/src/export/pdf/page.rs
@@ -15,6 +15,7 @@ use crate::geom::{
use crate::image::Image;
/// Construct page objects.
+#[tracing::instrument(skip_all)]
pub fn construct_pages(ctx: &mut PdfContext, frames: &[Frame]) {
for frame in frames {
construct_page(ctx, frame);
@@ -22,6 +23,7 @@ pub fn construct_pages(ctx: &mut PdfContext, frames: &[Frame]) {
}
/// Construct a page object.
+#[tracing::instrument(skip_all)]
pub fn construct_page(ctx: &mut PdfContext, frame: &Frame) {
let page_ref = ctx.alloc.bump();
ctx.page_refs.push(page_ref);
@@ -64,6 +66,7 @@ pub fn construct_page(ctx: &mut PdfContext, frame: &Frame) {
}
/// Write the page tree.
+#[tracing::instrument(skip_all)]
pub fn write_page_tree(ctx: &mut PdfContext) {
for page in std::mem::take(&mut ctx.pages).into_iter() {
write_page(ctx, page);
@@ -100,6 +103,7 @@ pub fn write_page_tree(ctx: &mut PdfContext) {
}
/// Write a page tree node.
+#[tracing::instrument(skip_all)]
fn write_page(ctx: &mut PdfContext, page: Page) {
let content_id = ctx.alloc.bump();