Age | Commit message (Collapse) | Author |
|
Only Fade, Wipe and Blinds supported so far.
Hit 'p' in the viewer to go into 'presentation' mode. Page swaps
then transition from page to page. Pages auto advance until key
or mouse is used.
|
|
Nasty fix; an inline declaration within doc_document.c, but that's
in keeping with the current code there.
|
|
Also add a function to report whether the core has javascript support,
so that the additional features can be enabled only when the javascript
engine is present
|
|
Silly typo in LOCAL_TRIG code. Thanks to Robert Jedrzejczyk for
reporting this.
|
|
These prevented PDF 1.7 ExtensionLevel 8 encryption algorithm from
working as intended.
|
|
As zeniko points out, pointer arithmetic is pointless on a linked
list. Keep a count of the length in the list header.
|
|
Previously these were only used for shadings in test builds.
By the same argument that they are applied for shadings, it
can be argued that they ought to be applied everywhere trig
functions are used.
|
|
This reduces memory use by another 10% on the 2 testfiles mentioned
in the previous commit (see bug 693330).
|
|
Refactor 'short stopped' image stream loading into fz_compressed_buffer
loading. Nicer overall, and reflects the fact that this can be used
for non-image streams that we want to hold compressed in memory (for
instance for shading streams).
This is a preparatory step for pdfwrite, and enables further shading
memory use optimisations.
Remove unused jbig2 function pointer from the fz_compression_params
(previously fz_image_params) structure to avoid confusion.
|
|
Thanks to Sebras for pointing out our schitzophrenia here.
|
|
|
|
Currently, the mupdf code loads shadings at parse time, and
instantly decomposes them into a mesh of triangles. This mesh
of triangles is the transformed and rendered as required.
Unfortunately the storage space for the mesh is typically much
greater than the original representation.
In this commit, we move the shading stream parsing/decomposition
code into a general 'fz_process_mesh' function within res_shade.
We then grab a copy of the buffer at load time, and 'process'
(decompose/paint) at render time.
For the test file on the bug, memory falls from the reported 660Mb
to 30Mb. For another test file (txt9780547775815_ingested.pdf
page 271) it reduces memory use from 750Meg to 33Meg. These figures
could be further reduced by storing the compressed streams from the
pdf file rather than the uncompressed ones.
Incorporating typo fix and unused function removal from Sebras. Thanks.
Remove unused function in shading code
|
|
|
|
|
|
app.execDialog looks very difficult to support. Hopefully we wont have to
|
|
The name of the menu item is passed, so presumably the app could respond
to some of the possibilities.
|
|
Simple tweak, was causing problems in pdf_write.
|
|
This makes no difference to the current operation of the code, but
ensures that 'saner' values are put into the image_params structure.
This will help pdfwrite give more aesthetically pleasing output later.
|
|
|
|
|
|
Simplifies coding.
|
|
Limited testing seems to suggest that the only thing stopping the MuPDF
library building on metro seems to be the use of winsock.h.
|
|
Conflicts:
pdf/pdf_xref_aux.c
|
|
|
|
Previously if the lookup table was full and no clear code appeared the
decoder would try to add more entries to the table. However the table
is of fixed size (4096 entries) so it would write outside the table.
Fix this by detecting when the lookup table is full and a clear code
ought to appear. At this point the decoder will now treat and process
any code as a clear code.
For valid documents this will never happen, for invalid documents this
means risking that succeeding codes may be misinterpreted and that the
decoded data will be incorrect, this case should be handled by the
consumer of the data though.
Fixes bug 693306.
|
|
Conflicts:
cbz/mucbz.c
pdf/pdf_parse.c
pdf/pdf_form.c
xps/xps_zip.c
|
|
Use a "magic" string for filetype detection: filename or mime-type.
|
|
Mountian Lion causes various different warnings to be given,
possibly because a change to clang by default. Fix them here.
|
|
This brings in Memento_breakOnRealloc and Memento_breakOnFree along with
some other small tweaks.
|
|
|
|
|
|
Thanks to zeniko for pointing out this fix.
|
|
|
|
Adjust macros to make them reusable with 64-bit arithmetic.
Rename functions to avoid future namespace collisions.
|
|
|
|
|
|
|
|
Conflicts:
Makefile
apps/mudraw.c
pdf/pdf_write.c
win32/libmupdf-v8.vcproj
|
|
Rather than specifically checking for the nesting getting too deep and
hence throwing an error, the error handling should do this for itself.
Make it so that we spot the depth being too great in the fz_try() and
throw to the fz_catch().
|
|
|
|
Previously the jpeg decoder state had to be fully initialized in order
to be freed when the jpeg decoder is closed, e.g. due to an error. Now,
signal that the decode state is initialized earlier, even if the state
has not been fully initialized, so that the state is freed.
|
|
Thanks to Zeniko for pointing out the inconsistency.
|
|
Thanks to Zeniko for pointing out this fix.
|
|
Previously we would run out of error stacks in the context and fail abruptly.
Now, throw an exception and hope for the best. At least this plugs any memory
leaks.
|
|
Thanks to Zeniko for pointing out this fix.
|
|
|
|
|
|
Conflicts:
pdf/mupdf-internal.h
pdf/pdf_font.c
|
|
Improves text device output when using substitute fonts.
Fixes bug #693019.
|
|
|