summaryrefslogtreecommitdiff
path: root/include/mupdf/fitz/store.h
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2017-07-07 14:27:33 +0100
committerRobin Watts <robin.watts@artifex.com>2017-09-08 17:46:50 +0100
commita7f36241cba4d1807ab4664201aa0975755d6772 (patch)
tree6a15ab1b47af54d9f733915a20c0f609b07bc72f /include/mupdf/fitz/store.h
parentd4afa7b72e0b7d774250f13c3c36d04a5e1415d0 (diff)
downloadmupdf-a7f36241cba4d1807ab4664201aa0975755d6772.tar.xz
Update draw device to cope with spots.
If draw device is passed a pixmap with disabled separations, it may have to push an extra group at the top to allow for the actual rendering to properly happen in cmyk+spots, and then get folded down at the end. This pushing cannot happen at create time, due to it being dependent on the defualt_cs settings. Accordingly, we push it (just once) on the first drawing operation. This means we need to be able to convert from "colorspace + set of spots" to "different colorspace + different set of spots". This in turn means we need to be able to drive lcms slightly differently (to tell it whether to copy the spots unchanged or not), so we have to amend the CMS interface code a bit for that. Currently we lack plotters to properly cope with plotting images and shades with spots, so this will give a warning and do nothing. To be filled in in future commits. Ensure fz_get_icc_link accepts NULL to mean default color params. Incorporates fixes from Michel Vrhel: With transparency groups we can have RGB + spot pixmaps. When drawing into those we need a mixture of colorant polarity. Ensure that fz_convert_separation_colors takes account of this. Fix C1 of Altona_Technical_1v1_x3.pdf (allow for output intent in fz_clone_pixmap_area_with_different_seps).
Diffstat (limited to 'include/mupdf/fitz/store.h')
-rw-r--r--include/mupdf/fitz/store.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/mupdf/fitz/store.h b/include/mupdf/fitz/store.h
index 1a0ae87b..9d363c6b 100644
--- a/include/mupdf/fitz/store.h
+++ b/include/mupdf/fitz/store.h
@@ -139,10 +139,13 @@ typedef struct fz_store_hash_s
{
unsigned char src_md5[16];
unsigned char dst_md5[16];
- uint8_t ri_bp;
- uint8_t depth;
- uint8_t extras;
- uint8_t proof;
+ unsigned int ri:2;
+ unsigned int bp:1;
+ unsigned int bpp16:1;
+ unsigned int proof:1;
+ unsigned int src_extras:5;
+ unsigned int dst_extras:5;
+ unsigned int copy_spots:1;
} link; /* 36 bytes */
} u;
} fz_store_hash; /* 40 or 44 bytes */