diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-07-07 14:27:33 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-09-08 17:46:50 +0100 |
commit | a7f36241cba4d1807ab4664201aa0975755d6772 (patch) | |
tree | 6a15ab1b47af54d9f733915a20c0f609b07bc72f /include/mupdf/fitz/separation.h | |
parent | d4afa7b72e0b7d774250f13c3c36d04a5e1415d0 (diff) | |
download | mupdf-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.h | 8 |
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 |