diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-09-06 14:57:48 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-10-24 15:16:36 +0100 |
commit | 313c72b9b3f3c888a51c9eb02187228b9e2aad11 (patch) | |
tree | 44230ad3d852cec8608fa766dea5bfe3714a30a5 /source/fitz/draw-imp.h | |
parent | c413f4db6a54846ae85393a87fa1b53b93a966ee (diff) | |
download | mupdf-313c72b9b3f3c888a51c9eb02187228b9e2aad11.tar.xz |
Fix knockout operation.
The "blend back" at the end of the inner knockout groups was
attempting to reuse the existing blending code. This was going
wrong for all sorts of reasons (not least the uncomposition
phase) for knockout groups containing alpha, such as found on
page 7 of Altona_Technical_v20_x4.pdf.
Use a dedicated routine. This is much simpler as it doesn't have
to cope with blend modes etc.
Diffstat (limited to 'source/fitz/draw-imp.h')
-rw-r--r-- | source/fitz/draw-imp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/fitz/draw-imp.h b/source/fitz/draw-imp.h index e855b40a..f6cc1367 100644 --- a/source/fitz/draw-imp.h +++ b/source/fitz/draw-imp.h @@ -464,6 +464,7 @@ void fz_paint_pixmap_with_bbox(fz_pixmap * restrict dst, const fz_pixmap * restr void fz_paint_pixmap_with_overprint(fz_pixmap * restrict dst, const fz_pixmap * restrict src, const fz_overprint *op); void fz_blend_pixmap(fz_context *ctx, fz_pixmap * restrict dst, fz_pixmap * restrict src, int alpha, int blendmode, int isolated, const fz_pixmap * restrict shape); +void fz_blend_pixmap_knockout(fz_context *ctx, fz_pixmap * restrict dst, fz_pixmap * restrict src, const fz_pixmap * restrict shape); void fz_paint_glyph(const unsigned char * restrict colorbv, fz_pixmap * restrict dst, unsigned char * restrict dp, const fz_glyph * restrict glyph, int w, int h, int skip_x, int skip_y, const fz_overprint * restrict eop); |