summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'base/gxclrect.c')
-rw-r--r--base/gxclrect.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/base/gxclrect.c b/base/gxclrect.c
index 1eaa3915..00f01ba2 100644
--- a/base/gxclrect.c
+++ b/base/gxclrect.c
@@ -314,13 +314,14 @@ clist_fillpage(gx_device * dev, gs_gstate *pgs, gx_drawing_color *pdcolor)
int code;
/* flush previous contents */
- if ((code = clist_close_writer_and_init_reader(cldev) < 0) ||
- (code = clist_finish_page(dev, true)) < 0)
+ if ((code = clist_close_writer_and_init_reader(cldev) < 0))
+ return code;;
+ if ((code = clist_finish_page(dev, true)) < 0)
return code;;
pcls = cdev->states; /* Use any. */
- code = cmd_put_drawing_color(cdev, pcls, pdcolor, NULL, devn_not_tile);
+ code = cmd_put_drawing_color(cdev, pcls, pdcolor, NULL, devn_not_tile_fill);
if (code >= 0)
code = cmd_write_page_rect_cmd(cdev, cmd_op_fill_rect);
return code;
@@ -413,7 +414,7 @@ clist_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect *rect,
re.pcls->color_usage.or |= color_usage;
code = cmd_disable_lop(cdev, re.pcls);
code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re,
- devn_not_tile);
+ devn_not_tile_fill);
if (code >= 0) {
code = cmd_write_rect_hl_cmd(cdev, re.pcls, cmd_op_fill_rect_hl,
rx, re.y, rwidth, re.height, false);
@@ -491,7 +492,7 @@ clist_write_fill_trapezoid(gx_device * dev,
RECT_STEP_INIT(re);
if (pdcolor != NULL) {
code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re,
- devn_not_tile);
+ devn_not_tile_fill);
if (code == gs_error_unregistered)
return code;
if (code < 0) {
@@ -617,6 +618,10 @@ clist_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data, int size)
ibox->q.y = cwdev->cropping_max;
return 0;
}
+ if (dev_spec_op == gxdso_overprint_active) {
+ gx_device_clist_writer* cwdev = &((gx_device_clist*)pdev)->writer;
+ return cwdev->op_fill_active || cwdev->op_stroke_active;
+ }
/* forward to the appropriate super class */
if (cdev->is_printer)
return gdev_prn_forwarding_dev_spec_op(pdev, dev_spec_op, data, size);
@@ -1215,7 +1220,7 @@ clist_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x,
re.pcls->color_is_alpha = 1;
}
/* Set the color */
- code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile);
+ code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile_fill);
copy:{
gx_cmd_rect rect;
int rsize;