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