summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2017-06-15Make inline fz_write_*() normal public functions.Sebastian Rasmussen
This avoids a macOS compilation error due to strlen() being redeclared.
2017-06-06Rename misnamed pdf object graft map keep interface.Sebastian Rasmussen
2017-06-03Tweak pdf_graft_map API.Robin Watts
Passing a pdf_document to pdf_graft_object to specify the source document is redundant, as if we need to know the document, it will be pickled into the object we are copying. Similarly, repeatedly having to pass the destination document seems silly when we can just pickle it into the map too (and this removes the possibility of people using a different destination document part way through). This leaves to simplifying the pdf_graft_object call, at the expense of splitting it into 2 calls - one with a map, and one without. Also, we can delay the creation of the mapping table until we are first asked to copy an object that requires deep copying. This avoids us ever having to manually pass in the source document. This has knock-on effects in the java and javascript classes, but with the advantage of being clearer in the end (IMHO). Conflicts: include/mupdf/pdf/document.h
2017-06-03Add pdf_keep_document.Robin Watts
We have pdf_drop_document, so a pdf_keep_document seems justified too.
2017-06-03Add documentation for pdf_processors.Robin Watts
Expose pdf_new_output_processor. Remove pdf_document argument to pdf_new_filter_processor. It is only ever used when copying resources from the old resource dictionary to the new one, whereupon it must agree with the bound pdf_document in the old resource dictionary.
2017-05-31Avoid double literals causing casts to float.Sebastian Rasmussen
2017-05-31Change forgotten M_PI uses to FZ_PI.Sebastian Rasmussen
2017-05-29Make PI/RADIAN/SQRT2/LN2 global single precision float constants.Sebastian Rasmussen
2017-05-25Update Type 3 font bbox with glyph bboxes if the former is invalid.Tor Andersson
Fix for bug 697943. Set the initial replacement font bbox to the empty rectangle for type3 fonts, and let the type3 glyph loading initialize by taking the union of all glyph bboxes. Set the replacement font bbox for non-Type3 fonts to the unit rectangle. Also remove unused flag from fz_font struct.
2017-05-25Replace broken FZ_IGNORE_IMAGE hints with other mechanisms.Tor Andersson
Add an option to the structured text device to preserve images. If the PDF processor does not have ops to process images, then skip loading them in the interpreter if possible. If the device does not have any image callbacks, then don't set the image processing ops in the run device. This accomplishes the same effect as the device hints were intended to do, but without needing to expose them to the PDF interpreter which may not even have a device since we now have multiple PDF op processors.
2017-05-23Remove unused strtod function.Tor Andersson
2017-05-09Fix key_storable operations leading to leaks of fz_image.Robin Watts
key_storable objects can either be freed 'directly' by an API call (such as fz_drop_image), or 'internally' by the store realising that the sole thing holding onto a key_storable is a key. The current code frees more structure in the direct call than it does in the internal call. Clearly this is wrong and leads to leaks. The fix is to do ALL the freeing in the internal 'drop' function within the key_storable. This means we don't need (or want) either fz_drop_key_storable_key or fz_drop_key_storable to return an int to tell us whether they were actually dropped, so we make that change to simplify the code. This shifts the responsibility for freeing the extra internal structure into the innermost drop functions - fz_drop_image_imp and fz_drop_image_gprf_imp. To avoid duplicating code, we put the extra freeing logic into a fz_drop_image_base function.
2017-05-04Drop FZ_PATH_MAX macro.Tor Andersson
Define PATH_MAX in the few files that use it, should it be missing.
2017-05-03Fix windows build: Don't set _LARGEFILE64_SOURCE on windowsRobin Watts
This causes zlib to look for a header we don't have.
2017-04-27Typedef function pointers consistently.Tor Andersson
2017-04-27Remove debug printing code.Tor Andersson
It's not used, so prone to bit rot. Better to purge it.
2017-04-27Clean up store debug printing.Tor Andersson
Replace fz_print_hash with fz_hash_for_each iterator. Use string formatting callback.
2017-04-27Move fz_outline and pdf_xref debug printing to pdfshow.cTor Andersson
That's where it's actually being used.
2017-04-27Use FZ_SEEK_SET macros for fz_seek.Tor Andersson
Don't depend on stdio.h for our own I/O functions.
2017-04-27Include required system headers.Tor Andersson
2017-04-27Remove fz_function abstract structure.Tor Andersson
There is only one implementation, so don't bother with the abstraction. Just use pdf_function directly.
2017-04-27Remove unused fz_function debug printing.Tor Andersson
2017-04-27Remove public SVG header.Tor Andersson
Move the two SVG utility functions into fitz/util.h
2017-04-27Make HTML header private.Tor Andersson
2017-04-27Include "mupdf/ucdn.h" explicitly.Tor Andersson
2017-04-27Use namespace prefix for bidi defines.Tor Andersson
2017-04-27Use FZ_PATH_MAX.Tor Andersson
PATH_MAX is Linux specific.
2017-04-27Use namespace for AES crypto code.Tor Andersson
2017-04-27Rename FMT_zu to FZ_FMT_zu.Tor Andersson
Don't use FMT_zu macro for fz_throw/fz_warn, since we can portably handle '%zu' in our own printf formatting.
2017-04-27memento: Don't include unnecessary headers.Tor Andersson
2017-04-20Add annotation interfaces for open state/icon name/line endings.Sebastian Rasmussen
2017-04-20js: Push annotation error handling down to library.Sebastian Rasmussen
This makes is possible for JNI code to depend on the library for error handling.
2017-04-18Use splay trees for loading/merging cmaps.Robin Watts
This allows for overlaps, merges adjacent (mergeable) ranges and gets us properly searchable results. This causes 1 diff in the test suites (Bug694353.pdf), which is due to the fallback font not having a hypen present at UCS 0x2010.
2017-04-13Export fz_recognize_document and use it in java code.Sebastian Rasmussen
2017-04-13Move extension/mimetype detection to common function.Sebastian Rasmussen
A document handler normally only exposes a list of extensions and mimetypes. Only formats that use some kind of extra detection mechnism need to supply a recognize() callback, such as xps that can handle .xps-files unpacked into a directory.
2017-04-11Bug 697662: Support named actions to first/last/next/previous page.Sebastian Rasmussen
2017-04-11Add fz_asprintf function to allocate a string and format output.Tor Andersson
2017-03-31Remove Reap lock.Robin Watts
I can see no reason for having the reap lock now. We always hold the ALLOC lock when we need it, so just live with that.
2017-03-31Fix leaks of reaped object keys.Robin Watts
2017-03-29Happy New Year!Sebastian Rasmussen
2017-03-29Update README and version number.Tor Andersson
2017-03-28Rejig fz_new_annot to fz_new_derived_annot.Robin Watts
More consistent with the rest of the code.
2017-03-28Rejig fz_new_device to be fz_new_derived_device.Robin Watts
In keeping with the rest of the code.
2017-03-28Rename fz_new_archive to fz_new_derived_archiveRobin Watts
Fits with the rest of the code.
2017-03-27Add more API docs for document writers.Robin Watts
2017-03-27Tweak document_writer - don't pass dev back in.Robin Watts
It seems odd for a document writer to pass a device pointer out, and then require it to be passed back in. Hide that in the public API.
2017-03-25Add fz_storable_needs_reaping.Robin Watts
Avoids needing to access the internals of reference counting.
2017-03-24Fix needs_reap entry in key storable.Robin Watts
There is no need to hold a separate flag to say that we need reaping, when this can be implied from the store_key_refs and the normal refcount being equal. In addition, I don't think we were ever actually setting this, so the code was wrong to start with.
2017-03-24Ensure fz_store_types are all static const.Robin Watts
2017-03-24Add fz_new_XXX_document_writer calls for pixmaps.Robin Watts
This enables people to access (say) a PNG writer without pulling in every single document writer at link time. (Of course, currently, without function level linking, even now we'll pull everything in, but we can improve this by splitting source files up).