summaryrefslogtreecommitdiff
path: root/include/mupdf/fitz/separation.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/separation.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/separation.h')
-rw-r--r--include/mupdf/fitz/separation.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/mupdf/fitz/separation.h b/include/mupdf/fitz/separation.h
index 4d17fc53..4b4be865 100644
--- a/include/mupdf/fitz/separation.h
+++ b/include/mupdf/fitz/separation.h
@@ -64,4 +64,12 @@ int fz_separations_controllable(fz_context *ctx, const fz_separations *seps);
/* Return the number of active separations. */
int fz_count_active_separations(fz_context *ctx, const fz_separations *seps);
+/* If the separations selection is unsuitable for overprint,
+ * clone it to produce one that is, otherwise return NULL. */
+fz_separations *fz_clone_separations_for_overprint(fz_context *ctx, fz_separations *seps);
+
+/* Convert a color given in terms of one colorspace,
+ * to a color in terms of another colorspace/separations. */
+void fz_convert_separation_colors(fz_context *ctx, const fz_color_params *color_params, const fz_colorspace *dst_cs, const fz_separations *dst_sep, float *dst_color, const fz_colorspace *src_cs, const float *src_color);
+
#endif