diff options
-rw-r--r-- | base/gdevp14.c | 6 | ||||
-rw-r--r-- | base/gdevp14.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/base/gdevp14.c b/base/gdevp14.c index 400a106f6..d0d7aefc6 100644 --- a/base/gdevp14.c +++ b/base/gdevp14.c @@ -5856,6 +5856,7 @@ pdf14_recreate_device(gs_memory_t *mem, gs_gstate * pgs, pdev->is_planar = true; else pdev->is_planar = target->is_planar; + pdev->interpolate_threshold = dev_proc(target, dev_spec_op)(target, gxdso_interpolate_threshold, NULL, 0); pdev->procs = dev_proto.procs; if (deep) { @@ -8537,6 +8538,8 @@ pdf14_dev_spec_op(gx_device *pdev, int dev_spec_op, rc_decrement_only(tdev, "pdf14_dev_spec_op"); return 0; } + if (dev_spec_op == gxdso_interpolate_threshold) + return p14dev->interpolate_threshold; return dev_proc(p14dev->target, dev_spec_op)(p14dev->target, dev_spec_op, data, size); } @@ -8624,6 +8627,7 @@ gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs, p14dev->is_planar = true; else p14dev->is_planar = target->is_planar; + p14dev->interpolate_threshold = dev_proc(target, dev_spec_op)(target, gxdso_interpolate_threshold, NULL, 0); p14dev->alpha = 1.0; p14dev->shape = 1.0; @@ -10018,6 +10022,7 @@ pdf14_create_clist_device(gs_memory_t *mem, gs_gstate * pgs, pdev->is_planar = true; else pdev->is_planar = target->is_planar; + pdev->interpolate_threshold = dev_proc(target, dev_spec_op)(target, gxdso_interpolate_threshold, NULL, 0); pdev->op_state = pgs->is_fill_color ? PDF14_OP_STATE_FILL : PDF14_OP_STATE_NONE; @@ -10163,6 +10168,7 @@ pdf14_recreate_clist_device(gs_memory_t *mem, gs_gstate * pgs, pdev->is_planar = true; else pdev->is_planar = target->is_planar; + pdev->interpolate_threshold = dev_proc(target, dev_spec_op)(target, gxdso_interpolate_threshold, NULL, 0); pdev->color_info.separable_and_linear = GX_CINFO_SEP_LIN_STANDARD; gx_device_fill_in_procs((gx_device *)pdev); diff --git a/base/gdevp14.h b/base/gdevp14.h index 77c36797f..839a6b534 100644 --- a/base/gdevp14.h +++ b/base/gdevp14.h @@ -264,6 +264,7 @@ typedef struct pdf14_device_s { const gx_color_map_procs *(*save_get_cmap_procs)(const gs_gstate *, const gx_device *); gx_device_color_info saved_target_color_info; + int interpolate_threshold; dev_proc_encode_color(*saved_target_encode_color); dev_proc_decode_color(*saved_target_decode_color); dev_proc_get_color_mapping_procs(*saved_target_get_color_mapping_procs); |