summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'base/gsimage.c')
-rw-r--r--base/gsimage.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/base/gsimage.c b/base/gsimage.c
index be7d2f2c..7b4602fc 100644
--- a/base/gsimage.c
+++ b/base/gsimage.c
@@ -223,6 +223,24 @@ gs_image_begin_typed(const gs_image_common_t * pic, gs_gstate * pgs,
if (code < 0)
return code;
}
+
+ if (pgs->overprint || (!pgs->overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device,
+ gxdso_overprint_active, NULL, 0))) {
+ gs_overprint_params_t op_params = { 0 };
+
+ if_debug0m(gs_debug_flag_overprint, pgs->memory,
+ "[overprint] Image Overprint\n");
+ code = gs_do_set_overprint(pgs);
+ if (code < 0)
+ return code;
+
+ op_params.op_state = OP_STATE_FILL;
+ gs_gstate_update_overprint(pgs, &op_params);
+
+ dev = gs_currentdevice(pgs);
+ dev2 = dev;
+ }
+
/* Imagemask with shading color needs a special optimization
with converting the image into a clipping.
Check for such case after gs_gstate_color_load is done,