diff options
Diffstat (limited to 'base/gxclrect.c')
-rw-r--r-- | base/gxclrect.c | 17 |
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; |