diff options
author | Paul Gardiner <paulg.artifex@glidos.net> | 2013-06-05 15:26:26 +0100 |
---|---|---|
committer | Paul Gardiner <paulg.artifex@glidos.net> | 2013-06-05 15:32:17 +0100 |
commit | e92dd2a341223487e87a9088164725f0a40ad27c (patch) | |
tree | 1e2d844b2183f705ff0a9f539076e4d92a87d578 /pdf/mupdf-internal.h | |
parent | 87ee1ceac0485a8adee93435fc6f1e5aeed6a65d (diff) | |
download | mupdf-e92dd2a341223487e87a9088164725f0a40ad27c.tar.xz |
Maintain the separation of xref sections when loading a document
Also on first alteration create a further section to hold the updates. This
is in preparation for supporting incemental update.
Diffstat (limited to 'pdf/mupdf-internal.h')
-rw-r--r-- | pdf/mupdf-internal.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/pdf/mupdf-internal.h b/pdf/mupdf-internal.h index b7931e4f..a0c8f599 100644 --- a/pdf/mupdf-internal.h +++ b/pdf/mupdf-internal.h @@ -119,6 +119,13 @@ struct pdf_hotspot_s typedef struct pdf_js_s pdf_js; +typedef struct pdf_xref_s +{ + int len; + pdf_xref_entry *table; + pdf_obj *trailer; +} pdf_xref; + struct pdf_document_s { fz_document super; @@ -130,12 +137,12 @@ struct pdf_document_s int startxref; int file_size; pdf_crypt *crypt; - pdf_obj *trailer; pdf_ocg_descriptor *ocg; pdf_hotspot hotspot; - int len; - pdf_xref_entry *table; + int num_xref_sections; + pdf_xref *xref_sections; + int xref_altered; int page_len; int page_cap; @@ -174,8 +181,9 @@ fz_buffer *pdf_load_renumbered_stream(pdf_document *doc, int num, int gen, int o fz_stream *pdf_open_raw_renumbered_stream(pdf_document *doc, int num, int gen, int orig_num, int orig_gen); pdf_obj *pdf_trailer(pdf_document *doc); -void pdf_set_xref_trailer(pdf_document *doc, pdf_obj *trailer); +void pdf_set_populating_xref_trailer(pdf_document *doc, pdf_obj *trailer); int pdf_xref_len(pdf_document *doc); +pdf_xref_entry *pdf_get_populating_xref_entry(pdf_document *doc, int i); pdf_xref_entry *pdf_get_xref_entry(pdf_document *doc, int i); void pdf_replace_xref(pdf_document *doc, pdf_xref_entry *entries, int n); |