Skip to content

Commit 03d4789

Browse files
committed
fix it
1 parent 3c44ce8 commit 03d4789

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/lib.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::collections::HashSet;
22

33
use entry::Flow;
44
use pdf::{backend::Backend, object::{Page, Resolve}, PdfError};
5-
use pdf_render::{tracer::{TraceCache, Tracer, DrawItem}, Fill, render_pattern, render_page};
5+
use pdf_render::{tracer::{TraceCache, Tracer, DrawItem}, Fill, render_pattern, render_page, FillMode};
66

77
mod tree;
88
mod util;
@@ -12,7 +12,8 @@ pub mod entry;
1212
pub fn run<B: Backend>(file: &pdf::file::CachedFile<B>, page: &Page, resolve: &impl Resolve) -> Result<Flow, PdfError> {
1313
let cache = TraceCache::new();
1414

15-
let mut tracer = Tracer::new(&cache);
15+
let mut clip_paths = vec![];
16+
let mut tracer = Tracer::new(&cache, &mut clip_paths);
1617

1718
render_page(&mut tracer, resolve, &page, Default::default())?;
1819

@@ -22,10 +23,10 @@ pub fn run<B: Backend>(file: &pdf::file::CachedFile<B>, page: &Page, resolve: &i
2223
let mut patterns = HashSet::new();
2324
for item in items.iter() {
2425
if let DrawItem::Vector(ref v) = item {
25-
if let Some((Fill::Pattern(id), _)) = v.fill {
26+
if let Some(FillMode { color: Fill::Pattern(id), .. }) = v.fill {
2627
patterns.insert(id);
2728
}
28-
if let Some((Fill::Pattern(id), _, _)) = v.stroke {
29+
if let Some((FillMode { color: Fill::Pattern(id), .. }, _)) = v.stroke {
2930
patterns.insert(id);
3031
}
3132
}
@@ -35,7 +36,7 @@ pub fn run<B: Backend>(file: &pdf::file::CachedFile<B>, page: &Page, resolve: &i
3536
let mut lines = vec![];
3637
let mut visit_item = |item| {
3738
match item {
38-
DrawItem::Text(t) if bbox.intersects(t.rect) => {
39+
DrawItem::Text(t, _) if bbox.intersects(t.rect) => {
3940
spans.push(t);
4041
}
4142
DrawItem::Vector(path) if bbox.intersects(path.outline.bounds()) => {
@@ -67,7 +68,7 @@ pub fn run<B: Backend>(file: &pdf::file::CachedFile<B>, page: &Page, resolve: &i
6768
continue;
6869
}
6970
};
70-
let mut pat_tracer = Tracer::new(&cache);
71+
let mut pat_tracer = Tracer::new(&cache, &mut clip_paths);
7172

7273
render_pattern(&mut pat_tracer, &*pattern, resolve)?;
7374
let pat_items = pat_tracer.finish();

0 commit comments

Comments
 (0)