summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-16iOS: add support for selecting form choice fieldsPaul Gardiner
2013-10-16iOS: use partial updates to display annotation changesPaul Gardiner
2013-10-16iOS: keep reference to the fz_pixmaps.Paul Gardiner
2013-10-16iOS: support filling in of text form fieldsPaul Gardiner
2013-10-15Fix typo in page tree manipulation when inserting new pages.Tor Andersson
2013-10-15Add local .vimrc to .gitignore.Tor Andersson
2013-10-14Create Contents entry in PDF write device if one doesn't exist already.Robin Watts
Avoids a SEGV on writing.
2013-10-14Handle stroke+fill operations with transparency/blendmodes.Robin Watts
When stroking and filling in a single operation, we are supposed to form the complete stroke+fill image, then blend it back, rather than filling and blending, then stroking and blending. This only matters during transparency, or with non-normal blend modes. We fix MuPDF to push a knockout group when doing such operations.
2013-10-11SVG: Fix alpha issues.Robin Watts
While looking at fts_09_0921, I spotted that the alpha values on images and fills aren't being sent. Fix that here, together with broken colors being sent for masks. fts_09_0921 still renders badly due to the lack of support for blend modes.
2013-10-11SVG: Add simple smask support.Robin Watts
The luminosity flag and background color are currently ignored. The clip stack optionally held in the null device is updated here to be a container stack, together with a flags word (currently just used to indicate the type of the container at the current place in the stack), and a user value (used by the SVG device to stash the id for the mask it's generating).
2013-10-11SVG: Add dumb group implementation.Robin Watts
Really just a structure indicator as SVG 1.1 doesn't support blending etc.
2013-10-11SVG: Fix clip stack handling etc.Robin Watts
fts_09_0919.pdf shows up some silly mistakes in the clip stack handling and in the handling of 0 sized pixmaps. Simple fixes.
2013-10-11Update documentation of multithreading and contexts.Robin Watts
Attempt to improve the clarity of the explainations pertaining to cloning contexts and bound contexts.
2013-10-11prevent potential heap access violationSimon Bünzli
fz_reset_gel fails to reset the length of active edges, which could (AFAICT) lead to pointers in gel->active pointing to memory that's been previously freed by fz_resize_array.
2013-10-10SVG: Fix fts_01_0106.pdfRobin Watts
A gradient fill that doesn't fill the bbox should be see through (unless background color is set, but we'll worry about that case when I find an example file that uses it). Arrange for the pixmap we draw the gradient fill into to be transparent initially. Also ensure that when we convert to png we preserve transparency.
2013-10-10SVG: Add image mask clip support.Robin Watts
2013-10-10Rename the draw devices 'stack_max' member to be 'stack_cap'Robin Watts
For consistency with the rest of the code.
2013-10-10SVG device: All gradient output (using images).Robin Watts
2013-10-10Use the 'rect' param to fz_clip_path.Robin Watts
fz_clip_path takes a rect parameter, but all the callers of it use NULL. In most cases they have a perfectly reasonable value that they could pass to hand anyway. Update the code to pass this value, which saves the need for the scissor stack keeping code to recalculate it.
2013-10-10Add scissor stack functionality to null device.Robin Watts
If the appropriate device hint is set, the null device will keep a scissor stack. This saves duplicating code in every device.
2013-10-10Add fz_new_png_from_pixmapRobin Watts
This accompanies the function formerly known as fz_image_as_png (now renamed to fz_new_png_from_image).
2013-10-10Fix broken winRT project by adding new glyph.c file.Michael Vrhel
2013-10-09SVG: Support Type3 fonts and stroked fonts.Robin Watts
2013-10-09Fix typo in pixmap handling.Robin Watts
When creating a png, a typo meant that we ALWAYS converted the pixmap even when we had an rgb or grayscale image on entry. Also, treat mask pixmaps (no colorspace) as gray.
2013-10-09iOS: ensure link highlights scale correctly on zoom and stay visiblePaul Gardiner
2013-10-09iOS: implement internal-link followingPaul Gardiner
Also: add hooks for the other link types remove unnecessary protocol from MuPageViewReflow turn off optimizations for the debug build
2013-10-07SVG device: Send text as reusable pathsRobin Watts
2013-10-07Update SVG device to send text as pathsRobin Watts
2013-10-04Android: Fix reference overflow in mupdf.cRobin Watts
Ink attachments of more than 512 points can run us out of local references. Fix this by freeing as we go.
2013-10-02iOS: unify the drawing of the main image and the tilePaul Gardiner
2013-10-02iOS: rework some positioning calclationsPaul Gardiner
The new code yields the same result as that that it replaces, but might be easier to understand.
2013-10-02iOS: Introduce use of display listsPaul Gardiner
Also add exception handling around library calls
2013-09-30Disable image interpolation with a hint.Robin Watts
Set the hint in mudraw when AA bits is set to 0.
2013-09-30Bug 694526: Spot non-invertable matrices and bale before strokingRobin Watts
The bug fix added in the previous commit fails to work in this case (hang-9527.pdf) because the matrix is not invertible and hence the clipping rectangle ends up infinite. Spot this case here and return early.
2013-09-30Bug 694526: Fix hang in stroking path.Robin Watts
The first file of this bug (hang-66.pdf) hangs while stroking a VERY long line segment; so long that 'used' is sufficinetly large that: used += dash_segment_len doesn't result in a change in the value of used. The fix is to clip strokes to the edge of the gel's clip area, meaning that this should never occur.
2013-09-30make pdf_write_document again accept NULL for fz_optsSimon Bünzli
In order to prevent this from breaking again, a fz_write_options struct with default values is allocated locally and used whenever fz_opts is NULL.
2013-09-27fix bug 694573Simon Bünzli
Currently, MuPDF throws away entire CCITT encoded images whenever an error happens in the code stream. Other PDF readers seem to rather render what has been decoded up to the point of the error. This patch enables such behavior for MuPDF as well.
2013-09-27add support for .tga output to mudrawSimon Bünzli
SumatraPDF's testsuite uses Targa images as output because they're compressed while still far easier to compare than PNG and have better tool support than PCL/PWG.
2013-09-27fix some MSVC warningsSimon Bünzli
* unreachable code in fz_generate_transition * signed/unsigned comparison in get_comp_index * potential dataloss due to conversion from int to short in ucdn_mirror
2013-09-27tweak pdf_parse_actionSimon Bünzli
* Destination names are a name and not a string * Expose whether a /Launch action points to a path or a URI
2013-09-27don't color transform RGB JPEG-in-TIFF imagesSimon Bünzli
TIFF images containing JPEG data only require color transformation for CYMK data streams. For RGB streams, this could lead to unexpected results.
2013-09-27don't reset the clipping rectangle for accumulated textSimon Bünzli
FZ_CMD_CLIP_TEXT behaves quite differently whether the accumulate flag is set or not (see fz_list_clip_text). fz_run_display_list handles this correctly but fz_append_display_node doesn't do so yet.
2013-09-27clip flate stream on data check error instead of rejecting it wholesaleSimon Bünzli
This is required e.g. for 1798_-_zlib_incorrect_data_check.pdf .
2013-09-27preserve /Encrypt for documents with streamed xrefsRobin Watts
If /Encrypt is not present on an updated xref of an encrypted document, that document can no longer be opened. This is required for incremental saving. Note: Streams aren't encrypted by pdf_write_document and can't thus currently be appended to an encrypted document. In that case, saving non-incrementally will produce a working (non-encrypted) document.
2013-09-27stop checking if the result of fz_read is negativeSimon Bünzli
fz_read used to return a negative value on errors. With the introduction of fz_try/fz_catch, it throws an error instead and always returns non-negative values. This removes the pointless checks.
2013-09-27fix bug 694618Simon Bünzli
For Separation and DeviceN colorspaces, the initial color value is 1.0 for all components instead of 0.0 as for most other colorspaces. The current initialization in pdf_set_colorspace initializes for CMYK which happens to work for all non-tint colorspaces.
2013-09-27Fix typo in struct definition.Robin Watts
Thanks to Zaister for reporting this.
2013-09-25Android: while adjusting reflow zoom, refresh only the visible pagePaul Gardiner
Also fix a race condition where an attempt to set the zoom might precede the loading of html into the WebView
2013-09-25iOS: while adjusting reflow zoom, refresh only the visible pagePaul Gardiner
At end of gesture all pages are refreshed so that newly-becoming-visible pages appear at the correct zoom.
2013-09-24iOS: add reflow modePaul Gardiner