summaryrefslogtreecommitdiff
path: root/base/gsicc_cache.c
diff options
context:
space:
mode:
authorMichael Vrhel <michael.vrhel@artifex.com>2017-01-06 09:59:29 -0800
committerMichael Vrhel <michael.vrhel@artifex.com>2017-01-06 10:00:23 -0800
commit434ae2a49e9b6026a3ae1eeceb0f32b78a894ee1 (patch)
tree910ac74e57691064a4c24fb7fee13dbc72c4fae7 /base/gsicc_cache.c
parent32765969861bee5773b5f1207dae2500fa1fd506 (diff)
downloadghostpdl-434ae2a49e9b6026a3ae1eeceb0f32b78a894ee1.tar.gz
Color code clean up.
Diffstat (limited to 'base/gsicc_cache.c')
-rw-r--r--base/gsicc_cache.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/base/gsicc_cache.c b/base/gsicc_cache.c
index 6ff32a62f..5c666f0aa 100644
--- a/base/gsicc_cache.c
+++ b/base/gsicc_cache.c
@@ -574,6 +574,64 @@ gsicc_remove_link(gsicc_link_t *link, const gs_memory_t *memory)
gsicc_link_free(link, memory); /* outside link */
}
+static void
+gsicc_get_srcprofile(gsicc_colorbuffer_t data_cs,
+ gs_graphics_type_tag_t graphics_type_tag,
+ cmm_srcgtag_profile_t *srcgtag_profile, cmm_profile_t **profile,
+ gsicc_rendering_param_t *render_cond)
+{
+ (*profile) = NULL;
+ (*render_cond).rendering_intent = gsPERCEPTUAL;
+ switch (graphics_type_tag & ~GS_DEVICE_ENCODES_TAGS) {
+ case GS_UNKNOWN_TAG:
+ case GS_UNTOUCHED_TAG:
+ default:
+ break;
+ case GS_PATH_TAG:
+ if (data_cs == gsRGB) {
+ (*profile) = srcgtag_profile->rgb_profiles[gsSRC_GRAPPRO];
+ *render_cond = srcgtag_profile->rgb_rend_cond[gsSRC_GRAPPRO];
+ }
+ else if (data_cs == gsCMYK) {
+ (*profile) = srcgtag_profile->cmyk_profiles[gsSRC_GRAPPRO];
+ *render_cond = srcgtag_profile->cmyk_rend_cond[gsSRC_GRAPPRO];
+ }
+ else if (data_cs == gsGRAY) {
+ (*profile) = srcgtag_profile->gray_profiles[gsSRC_GRAPPRO];
+ *render_cond = srcgtag_profile->gray_rend_cond[gsSRC_GRAPPRO];
+ }
+ break;
+ case GS_IMAGE_TAG:
+ if (data_cs == gsRGB) {
+ (*profile) = srcgtag_profile->rgb_profiles[gsSRC_IMAGPRO];
+ *render_cond = srcgtag_profile->rgb_rend_cond[gsSRC_IMAGPRO];
+ }
+ else if (data_cs == gsCMYK) {
+ (*profile) = srcgtag_profile->cmyk_profiles[gsSRC_IMAGPRO];
+ *render_cond = srcgtag_profile->cmyk_rend_cond[gsSRC_IMAGPRO];
+ }
+ else if (data_cs == gsGRAY) {
+ (*profile) = srcgtag_profile->gray_profiles[gsSRC_IMAGPRO];
+ *render_cond = srcgtag_profile->gray_rend_cond[gsSRC_IMAGPRO];
+ }
+ break;
+ case GS_TEXT_TAG:
+ if (data_cs == gsRGB) {
+ (*profile) = srcgtag_profile->rgb_profiles[gsSRC_TEXTPRO];
+ *render_cond = srcgtag_profile->rgb_rend_cond[gsSRC_TEXTPRO];
+ }
+ else if (data_cs == gsCMYK) {
+ (*profile) = srcgtag_profile->cmyk_profiles[gsSRC_TEXTPRO];
+ *render_cond = srcgtag_profile->cmyk_rend_cond[gsSRC_TEXTPRO];
+ }
+ else if (data_cs == gsGRAY) {
+ (*profile) = srcgtag_profile->gray_profiles[gsSRC_TEXTPRO];
+ *render_cond = srcgtag_profile->gray_rend_cond[gsSRC_TEXTPRO];
+ }
+ break;
+ }
+}
+
gsicc_link_t*
gsicc_get_link(const gs_gstate *pgs1, gx_device *dev_in,
const gs_color_space *pcs_in,