diff options
Diffstat (limited to 'devices/gdevtsep.c')
-rw-r--r-- | devices/gdevtsep.c | 46 |
1 files changed, 6 insertions, 40 deletions
diff --git a/devices/gdevtsep.c b/devices/gdevtsep.c index c1f556379..52a15708e 100644 --- a/devices/gdevtsep.c +++ b/devices/gdevtsep.c @@ -1594,7 +1594,6 @@ tiffsep_prn_open(gx_device * pdev) tiffsep_device *pdev_sep = (tiffsep_device *) pdev; int code, k; cmm_dev_profile_t *profile_struct; - gsicc_rendering_param_t rendering_params; /* Use our own warning and error message handlers in libtiff */ tiff_set_handlers(); @@ -1681,41 +1680,10 @@ tiffsep_prn_open(gx_device * pdev) /* Set up the icc link settings at this time. Only CMYK post render profiles are allowed */ - code = dev_proc(pdev, get_profile)((gx_device *)pdev, &profile_struct); + code = gx_downscaler_create_post_render_link((gx_device *)pdev, + &pdev_sep->icclink); if (code < 0) - return_error(gs_error_undefined); - - if (profile_struct->postren_profile != NULL && - profile_struct->postren_profile->data_cs == gsCMYK) { - rendering_params.black_point_comp = gsBLACKPTCOMP_ON; - rendering_params.graphics_type_tag = GS_UNKNOWN_TAG; - rendering_params.override_icc = false; - rendering_params.preserve_black = gsBLACKPRESERVE_OFF; - rendering_params.rendering_intent = gsRELATIVECOLORIMETRIC; - rendering_params.cmm = gsCMM_DEFAULT; - if (profile_struct->oi_profile != NULL) { - pdev_sep->icclink = gsicc_alloc_link_dev(pdev->memory, - profile_struct->oi_profile, profile_struct->postren_profile, - &rendering_params); - } else if (profile_struct->link_profile != NULL) { - pdev_sep->icclink = gsicc_alloc_link_dev(pdev->memory, - profile_struct->link_profile, profile_struct->postren_profile, - &rendering_params); - } else { - pdev_sep->icclink = gsicc_alloc_link_dev(pdev->memory, - profile_struct->device_profile[GS_DEFAULT_DEVICE_PROFILE], - profile_struct->postren_profile, &rendering_params); - } - if (pdev_sep->icclink == NULL) { - return_error(gs_error_VMerror); - } - /* If it is identity, release it now and set link to NULL */ - if (pdev_sep->icclink->is_identity) { - pdev_sep->icclink->procs.free_link(pdev_sep->icclink); - gsicc_free_link_dev(pdev->memory, pdev_sep->icclink); - pdev_sep->icclink = NULL; - } - } + return code; return code; } @@ -1771,11 +1739,9 @@ tiffsep_prn_close(gx_device * pdev) int comp_num; int num_comp = number_output_separations(num_dev_comp, num_std_colorants, num_order, num_spot); - if (pdevn->icclink != NULL) { - pdevn->icclink->procs.free_link(pdevn->icclink); - gsicc_free_link_dev(pdevn->memory, pdevn->icclink); - pdevn->icclink = NULL; - } + + gsicc_free_link_dev(pdevn->icclink); + pdevn->icclink = NULL; name = (char *)gs_alloc_bytes(pdevn->memory, gp_file_name_sizeof, "tiffsep_prn_close(name)"); if (!name) |