summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-page.c
AgeCommit message (Collapse)Author
2013-11-08Use an end pointer for the annotation list to avoid unnecessary iterationPaul Gardiner
2013-10-15Fix typo in page tree manipulation when inserting new pages.Tor Andersson
2013-07-19Initial work on progressive loadingRobin Watts
We are testing this using a new -p flag to mupdf that sets a bitrate at which data will appear to arrive progressively as time goes on. For example: mupdf -p 102400 pdf_reference17.pdf Details of the scheme used here are presented in docs/progressive.txt
2013-07-12Set /Parent entry when inserting a page into the page tree.Tor Andersson
2013-07-12Throw exception on invalid page objects when looking up page numbers.Tor Andersson
Also handle exceptions when parsing link destinations.
2013-07-11Fix pdf_count_pages_before_kid to cope with /Page with /Count in.Robin Watts
2013-07-11Remove depth counter from page/resources lookups.Robin Watts
Instead of just relying on a depth count (which can easily be fooled by poor but valid files) use mark/unmark based schemes for pdf_lookup_inherited_page_item and pdf_lookup_page_number.
2013-07-11Hoist count skipping up to before we recurse.Tor Andersson
2013-07-11Implement dynamic page tree lookups.Tor Andersson
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.
2013-06-27Move to using a flags bit rather than "Dirty" dict entries.Robin Watts
Correct the naming scheme for pdf_obj_xxx functions.
2013-06-25Rework storing internal flags in PDF objects.Robin Watts
Before we render a page we need to evaluate whether we need transparency or not. To establish this, we recursively walk the resources looking for certain markers (blend modes, alpha levels, smasks etc). To avoid doing this repeatedly we'd like to stash the results somewhere. Currently we write a '.useBM' entry into the top level dictionary object, but with the recent changes to support incremental update this is not ideal - it has the effect of forcing all resources into the new section of the xref. So we avoid that horrible hack and use a different one; we make use of the new flags word in the pdf_obj structure. 1 bit is used to indicate whether we have stashed a (boolean) value here, and another bit is used to indicate what that value was.
2013-06-25Rid the world of "pdf_document *xref".Robin Watts
For historical reasons lots of the code uses "xref" when talking about a pdf document. Now pdf_xref is a separate type this has become confusing, so replace 'xref' with 'doc' for clarity.
2013-06-25Update pdf_obj's to have a pdf_document field.Robin Watts
Remove the fz_context field to avoid the structure growing.
2013-06-21Initial PDF editing/page creation commitRobin Watts
2013-06-20Rearrange source files.Tor Andersson