summaryrefslogtreecommitdiff
path: root/devices/gdevtsep.c
diff options
context:
space:
mode:
Diffstat (limited to 'devices/gdevtsep.c')
-rw-r--r--devices/gdevtsep.c46
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)