/* * This routine is only used if ENABLE_CUSTOM_COLOR_CALLBACK is true. * Otherwise we use gx_default_remap_color directly for CIEBasedDEFG color * spaces. * * Render a CIEBasedDEFG color. */ int gx_remap_ICCBased(const gs_client_color * pc, const gs_color_space * pcs, gx_device_color * pdc, const gs_imager_state * pis, gx_device * dev, gs_color_select_t select) { client_custom_color_params_t * pcb = (client_custom_color_params_t *) (pis->memory->gs_lib_ctx->custom_color_callback); if (pcb != NULL) { if (pcb->client_procs->remap_ICCBased(pcb, pc, pcs, pdc, pis, dev, select) == 0) return 0; } /* Use default routine for non custom color processing. */ return gx_default_remap_color(pc, pcs, pdc, pis, dev, select); }
static int gx_remap_Separation(const gs_client_color * pcc, const gs_color_space * pcs, gx_device_color * pdc, const gs_imager_state * pis, gx_device * dev, gs_color_select_t select) { int code = 0; if (pcs->params.separation.sep_type != SEP_NONE) code = gx_default_remap_color(pcc, pcs, pdc, pis, dev, select); else { color_set_null(pdc); } /* Save original color space and color info into dev color */ pdc->ccolor.paint.values[0] = pcc->paint.values[0]; pdc->ccolor_valid = true; return code; }