summaryrefslogtreecommitdiff
path: root/source/fitz/draw-device.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2013-10-14 17:26:41 +0100
committerRobin Watts <robin.watts@artifex.com>2013-10-14 18:25:19 +0100
commit06fd5ef29b26bba0f6d8e6fa1034756737e12ef5 (patch)
tree6de5549d22bb8a9a74b524d95768ebbb04e2c8b6 /source/fitz/draw-device.c
parent67cc9edf0cc0dc8ccf6ef419c96ab5087c914cae (diff)
downloadmupdf-06fd5ef29b26bba0f6d8e6fa1034756737e12ef5.tar.xz
Handle stroke+fill operations with transparency/blendmodes.
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.
Diffstat (limited to 'source/fitz/draw-device.c')
-rw-r--r--source/fitz/draw-device.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/fitz/draw-device.c b/source/fitz/draw-device.c
index dc00561b..9146b3e2 100644
--- a/source/fitz/draw-device.c
+++ b/source/fitz/draw-device.c
@@ -160,7 +160,7 @@ fz_knockout_begin(fz_draw_device *dev)
fz_clear_pixmap(ctx, dest);
}
- if (state->blendmode == 0 && isolated)
+ if ((state->blendmode & FZ_BLEND_MODEMASK) == 0 && isolated)
{
/* We can render direct to any existing shape plane. If there
* isn't one, we don't need to make one. */