summaryrefslogtreecommitdiff
path: root/draw/draw_device.c
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2011-08-04 14:21:11 +0100
committerRobin Watts <Robin.Watts@artifex.com>2011-08-05 18:29:39 +0100
commit4ffa961d35b8985fd041f27737d06d9c59e41d6b (patch)
tree278ea72fc04d5b6135246bdb5d3615606a1fc6a6 /draw/draw_device.c
parentb2a56e3f513626476abd55cede7efbda9104b25e (diff)
downloadmupdf-4ffa961d35b8985fd041f27737d06d9c59e41d6b.tar.xz
More changes to blending of groups.
In an effort to solve bug 692377, examine what ghostscript does, and move mupdf into line with it. Firstly, it seems that rather than collecting a pure 'shape' plane ghostscript keeps a 'shape-with-alpha' plane. Only a tiny change is required to move mupdf to the do the same thing, so done here. Secondly, it seems that ghostscript 'uncomposites' the result of non-isolated groups, before applying the blend mode. It's not clear to me that this is entirely correct; this 'uncomposite' operation assumes that all compositing has been done internally with the 'normal' blend mode. Nonetheless, I do the same here, and it seems to work. This 'uncomposite' operation may yet turn out to be a source of bugs if I have muddled the use of premultiplied and non-premultiplied components, but it seems to work on the testfiles I have.
Diffstat (limited to 'draw/draw_device.c')
-rw-r--r--draw/draw_device.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/draw/draw_device.c b/draw/draw_device.c
index f3ced47d..3c1f8114 100644
--- a/draw/draw_device.c
+++ b/draw/draw_device.c
@@ -134,7 +134,7 @@ static void fz_knockout_begin(void *user)
dev->stack[dev->top].dest = dev->dest;
dev->stack[dev->top].shape = dev->shape;
#ifdef DUMP_GROUP_BLENDS
- dump_spaces(dev->top, "Knockout begin");
+ dump_spaces(dev->top, "Knockout begin\n");
#endif
dev->top++;