diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2017-01-06 09:59:29 -0800 |
---|---|---|
committer | Michael Vrhel <michael.vrhel@artifex.com> | 2017-01-06 10:00:23 -0800 |
commit | 434ae2a49e9b6026a3ae1eeceb0f32b78a894ee1 (patch) | |
tree | 910ac74e57691064a4c24fb7fee13dbc72c4fae7 /base/gsicc_cache.c | |
parent | 32765969861bee5773b5f1207dae2500fa1fd506 (diff) | |
download | ghostpdl-434ae2a49e9b6026a3ae1eeceb0f32b78a894ee1.tar.gz |
Color code clean up.
Diffstat (limited to 'base/gsicc_cache.c')
-rw-r--r-- | base/gsicc_cache.c | 58 |
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, |