summaryrefslogtreecommitdiff
path: root/source/fitz/draw-imp.h
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2017-09-06 14:57:48 +0100
committerRobin Watts <robin.watts@artifex.com>2017-10-24 15:16:36 +0100
commit313c72b9b3f3c888a51c9eb02187228b9e2aad11 (patch)
tree44230ad3d852cec8608fa766dea5bfe3714a30a5 /source/fitz/draw-imp.h
parentc413f4db6a54846ae85393a87fa1b53b93a966ee (diff)
downloadmupdf-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.h1
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);