summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'base/gxshade6.c')
-rw-r--r--base/gxshade6.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/base/gxshade6.c b/base/gxshade6.c
index e48bcfb4..e8f9349b 100644
--- a/base/gxshade6.c
+++ b/base/gxshade6.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2020 Artifex Software, Inc.
+/* Copyright (C) 2001-2021 Artifex Software, Inc.
All Rights Reserved.
This software is provided AS-IS with no warranty, either express or
@@ -1482,6 +1482,13 @@ constant_color_trapezoid(patch_fill_state_t *pfs, gs_fixed_edge *le, gs_fixed_ed
code = patch_color_to_device_color_inline(pfs, c, &dc, NULL);
if (code < 0)
return code;
+
+ if (device_encodes_tags(pfs->dev)) {
+ dc.tag = (pfs->dev->graphics_type_tag & ~GS_DEVICE_ENCODES_TAGS);
+ } else {
+ dc.tag = 0;
+ }
+
return dev_proc(pfs->dev, fill_trapezoid)(pfs->dev,
le, re, ybot, ytop, swap_axes, &dc, pfs->pgs->log_op);
}
@@ -2539,6 +2546,12 @@ constant_color_quadrangle_aux(patch_fill_state_t *pfs, const quadrangle_patch *p
gx_device_color dc;
bool orient;
+ if (device_encodes_tags(pfs->dev)) {
+ dc.tag = (pfs->dev->graphics_type_tag & ~GS_DEVICE_ENCODES_TAGS);
+ } else {
+ dc.tag = 0;
+ }
+
patch_interpolate_color(c[1], p->p[0][0]->c, p->p[0][1]->c, pfs, 0.5);
patch_interpolate_color(c[2], p->p[1][0]->c, p->p[1][1]->c, pfs, 0.5);
patch_interpolate_color(c[0], c[1], c[2], pfs, 0.5);