summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2017-07-18 18:58:44 +0100
committerRobin Watts <robin.watts@artifex.com>2017-07-19 19:41:23 +0100
commit4fe495238b1410179880d62b39a252c8ac24e8c7 (patch)
treec56986382e1a40b77ac590027e905e47d52ed2c4
parent2f2ea17212a8ad3253705996104eb291b3dd3579 (diff)
downloadmupdf-4fe495238b1410179880d62b39a252c8ac24e8c7.tar.xz
Update blend debugging code to save pixmaps as PSDs if required.
PNGs can't represent spots, or CMYK, so use PSD.
-rw-r--r--source/fitz/draw-device.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/source/fitz/draw-device.c b/source/fitz/draw-device.c
index 8c3c34e1..eb64e8d3 100644
--- a/source/fitz/draw-device.c
+++ b/source/fitz/draw-device.c
@@ -63,16 +63,20 @@ static int group_dump_count = 0;
static void fz_dump_blend(fz_context *ctx, const char *s, fz_pixmap *pix)
{
char name[80];
+ int psd = 0;
if (!pix)
return;
- sprintf(name, "dump%02d.png", group_dump_count);
- if (s)
- printf("%s%02d(%p)", s, group_dump_count, pix);
- group_dump_count++;
+ if (pix->s || fz_colorspace_is_subtractive(ctx, pix->colorspace))
+ psd = 1;
- fz_save_pixmap_as_png(ctx, pix, name);
+ sprintf(name, "dump%02d.%s", group_dump_count, psd ? "psd" : "png");
+ printf("%s%02d%s(%p)", s ? s : "", group_dump_count++, psd ? "(PSD)" : "", pix);
+ if (psd)
+ fz_save_pixmap_as_psd(ctx, pix, name);
+ else
+ fz_save_pixmap_as_png(ctx, pix, name);
}
static void dump_spaces(int x, const char *s)