Age | Commit message (Collapse) | Author |
|
In case of an unknown function type, we free 'func'. Then we later
read func->type out of the block, and drop the block.
Simple solution is not to free the block initially and to let the
drop of the block do it for us.
|
|
|
|
|
|
|
|
Rely on the document creator to have sorted them rather than risk
getting the wrong page order.
|
|
pdf_load_annots was leaving the tail pointer pointing at the
automatic variable head in the case of the page having no
annotations.
|
|
|
|
Use fz_buffer to wrap and reference count data used in font.
|
|
|
|
|
|
|
|
|
|
This fixes bug 694755. Thank you to Michael Cadihac for the patch
|
|
Zero and one-point case both lead to an empty rectangle, but the one-point case
needs expanding but wasn't because fz_expand_rect treats an empty rectangle
as a special case (as it should)
|
|
Add a function to clone stroke states, a magic number to keep in the
reference count to signal that a stroke state is stack-stored, and
automatically clone stack stored stroke states in the keep function.
Use fz_default_stroke_state to initialise stack stored stroke states.
|
|
Self balancing AA-tree.
|
|
Print node and children, not node, children and siblings.
|
|
|
|
|
|
windows settings.
|
|
Image masks don't have a colorspace; check before dereferencing.
|
|
|
|
|
|
|
|
|
|
|
|
Thanks to Micha for spotting this.
|
|
When putting store objects into the store, ensure that they do cannot
collide across documents.
|
|
|
|
Was failing to correctly initialise scissors when extending the stack.
This caused the fill text to disappear in fts_15_109.pdf
|
|
|
|
Avoids a SEGV on writing.
|
|
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.
|
|
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.
|
|
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).
|
|
Really just a structure indicator as SVG 1.1 doesn't support
blending etc.
|
|
fts_09_0919.pdf shows up some silly mistakes in the clip stack handling
and in the handling of 0 sized pixmaps. Simple fixes.
|
|
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.
|
|
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.
|
|
|
|
For consistency with the rest of the code.
|
|
|
|
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.
|
|
If the appropriate device hint is set, the null device will keep
a scissor stack. This saves duplicating code in every device.
|
|
This accompanies the function formerly known as fz_image_as_png (now
renamed to fz_new_png_from_image).
|
|
|
|
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.
|
|
|
|
|
|
Set the hint in mudraw when AA bits is set to 0.
|