summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2013-06-28 11:12:35 +0200
committerRobin Watts <robin.watts@artifex.com>2013-07-11 10:46:39 +0100
commit9b3e229f1d590eb40e5fcc9357f8311b1968bc3a (patch)
treebe696129062bd2e64a4d97acd700212019939d13 /include
parenta9ae5d6ce95295348ece508aa91eddbe4a68482d (diff)
downloadmupdf-9b3e229f1d590eb40e5fcc9357f8311b1968bc3a.tar.xz
Implement dynamic page tree lookups.
No more caching a flattened page tree in doc->page_objs/refs. No more flattening of page resources, rotation and boxes. Smart page number lookup by following Parent links. Naive implementation of insert and delet page that doesn't rebalance the trees. Requires existing page tree to hook into, cannot be used to create a page tree from scratch.
Diffstat (limited to 'include')
-rw-r--r--include/mupdf/pdf/document.h6
-rw-r--r--include/mupdf/pdf/page.h1
2 files changed, 2 insertions, 5 deletions
diff --git a/include/mupdf/pdf/document.h b/include/mupdf/pdf/document.h
index c65fe893..9a23fd7e 100644
--- a/include/mupdf/pdf/document.h
+++ b/include/mupdf/pdf/document.h
@@ -187,12 +187,8 @@ struct pdf_document_s
int xref_altered;
int freeze_updates;
- int page_len;
- int page_cap;
- pdf_obj **page_objs;
- pdf_obj **page_refs;
+ int page_count;
int resources_localised;
- int needs_page_tree_rebuild;
pdf_lexbuf_large lexbuf;
diff --git a/include/mupdf/pdf/page.h b/include/mupdf/pdf/page.h
index 7eaa93d9..c1fffa57 100644
--- a/include/mupdf/pdf/page.h
+++ b/include/mupdf/pdf/page.h
@@ -3,6 +3,7 @@
int pdf_lookup_page_number(pdf_document *doc, pdf_obj *pageobj);
int pdf_count_pages(pdf_document *doc);
+pdf_obj *pdf_lookup_page_obj(pdf_document *doc, int needle);
/*
pdf_load_page: Load a page and its resources.