[gs-cvs] rev 8008 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Sun May 27 11:51:35 PDT 2007
Author: leonardo
Date: 2007-05-27 11:51:35 -0700 (Sun, 27 May 2007)
New Revision: 8008
Modified:
trunk/gs/src/gxshade6.c
Log:
Fix (shadings) : Account inner poles for computing a tensor shading flattening.
DETAILS :
While computing the neccessary decomposition level by
the parameter u, the old code ony accounted the curvity
of the patch boundary. However tensor patches may have
a very curved interior with a slightly curved boundary.
This patch improves the raster in such cases.
EXPECTED DIFFERENCES :
Minor difference in shading color :
"446-01-fixed.ps"
"483-05-fixed.ps"
Modified: trunk/gs/src/gxshade6.c
===================================================================
--- trunk/gs/src/gxshade6.c 2007-05-27 17:59:43 UTC (rev 8007)
+++ trunk/gs/src/gxshade6.c 2007-05-27 18:51:35 UTC (rev 8008)
@@ -3777,8 +3777,10 @@
kv[3] = curve_samples(pfs, &p.pole[0][3], 4, pfs->fixed_flat);
kvm = max(max(kv[0], kv[1]), max(kv[2], kv[3]));
ku[0] = curve_samples(pfs, p.pole[0], 1, pfs->fixed_flat);
+ ku[1] = curve_samples(pfs, p.pole[1], 1, pfs->fixed_flat);
+ ku[2] = curve_samples(pfs, p.pole[2], 1, pfs->fixed_flat);
ku[3] = curve_samples(pfs, p.pole[3], 1, pfs->fixed_flat);
- kum = max(ku[0], ku[3]);
+ kum = max(max(ku[0], ku[1]), max(ku[2], ku[3]));
km = max(kvm, kum);
# if NOFILL_TEST
dbg_nofill = false;
More information about the gs-cvs
mailing list