Age | Commit message (Collapse) | Author |
|
Fits with the rest of the code.
|
|
|
|
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.
|
|
Avoids needing to access the internals of reference counting.
|
|
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.
|
|
|
|
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).
|
|
Instead of having fz_new_XXXX(ctx, type, ...) macros that call
fz_new_XXXX_of_size etc, use fz_new_derived_...
Clearer naming, and doesn't clash with fz_new_document_writer.
|
|
Moves document_writers into the same style as
fz_new_{image,document,page} etc.
|
|
Allow mutool convert to output all image formats we can write.
Add sanity checks for pbm and pkm writers.
|
|
|
|
Move this into the same style as fz_new_document and
fz_new_image.
|
|
Emit characters with callbacks so we don't need to do two passes using
vsnprintf to count, format, and copy the result.
|
|
Call fz_append_string instead of fz_append_printf for static strings.
Call fz_write_string instead of fz_write_printf for static strings.
|
|
Rename fz_write to fz_write_data.
Rename fz_write_buffer_* and fz_buffer_printf to fz_append_*.
Be consistent in naming:
fz_write_* calls write to fz_output.
fz_append_* calls append to fz_buffer.
Update documentation.
|
|
Call out->write directly.
|
|
|
|
|
|
Images, Document and Document Handlers.
|
|
|
|
Rename HAVE_PTHREADS to HAVE_PTHREAD to match naming of other defines,
where the macro is named after the library that is linked.
|
|
|
|
Update mutool to call it.
|
|
Annoyingly TGA requires lines to be written from bottom to top,
so require callers to flip the image.
Also fix TGA to cope with alpha or not.
Update mutool draw to use band writer interface for TGA.
|
|
Remove needless parameter passing in fz_band_writer API.
We always know the bandstart, so why make the caller keep track
of it and pass it in?
Similarly, we know when we hit the end of the page, so why
require us to trigger the trailer writing manually?
|
|
Move implementation to be more in line with fz_streams. Much
closer parallels now.
|
|
|
|
When encoding truetype fonts via the mac roman cmap table, we should be
using the additional entries introduced in PDF 1.5, which are different
from the standard MacRomanEncoding table in the appendix.
|
|
Loading outlines wants to look up all link destinations, and doing the
normal link destination lookups triggers loading all page objects used.
This means we need to parse a lot of objects, which can be quite slow.
We can load the page tree faster by only looking at intermediate page
tree nodes. If we load the page tree and create a reverse lookup
table for use when loading the outline, we can speed up the time to
run 'mutool show pdfref17.pdf outline' from 900ms to 100ms.
|
|
Customer request to enable finer control based on which
password authenticates.
|
|
Better to have this defined at the system level
rather than scattered about in various files.
|
|
Also add explicit viewBox and width/height to image symbol and use
elements, to work around a strange clipping/image scaling issue
with firefox.
|
|
|
|
Now mutool convert can write SVG documents.
|
|
|
|
|
|
|
|
|
|
|
|
Add 'build=valgrind' configuration.
|
|
|
|
Xcode has an idiotic default configuration where it gets confused by include
search paths and file names in projects, so that it will load our
"mupdf/fitz/math.h" instead of the system <math.h>.
Work around this by renaming header files that have the same base name as a
system header (even though they live in a subdirectory, and should never be
available directly on the compiler's include path).
|
|
Keeping them up to date is difficult and prone to errors, so we move
setting the USE_OUTPUT_DEBUG_STRING and FZ_LARGEFILE flags to the source
instead of relying on project file definitions.
|
|
|
|
This allows us to prune the iteration functions.
We also remove a few other unused functions.
|
|
Only use NDEBUG as it's the one that most environments already set, so
is likely to lead to the least amount of confusion if compiling with a
custom build system.
|
|
|
|
|
|
|
|
Non-destructively zero terminate a fz_buffer for use as a C string.
|