[gs-cvs] rev 7744 - trunk/gs/src

stefan at ghostscript.com stefan at ghostscript.com
Sun Feb 25 11:13:17 PST 2007


Author: stefan
Date: 2007-02-25 11:13:16 -0800 (Sun, 25 Feb 2007)
New Revision: 7744

Modified:
   trunk/gs/src/gxclrast.c
Log:
Banding fix where triangles where incorrectly detected and rendered
as parallelograms when rendering out of the clist.  Triangles are only used
to fill bevel joins so this occurs infrequently, and the use of fuzzy 
comparisons will hide all but the largest stroke width errors.  

Corrects many pcl CET banding/nobanding differences:
28-01 
28-02
28-03
28-04
28-05
28-06
28-07
28-10
29-01		   
29-02
29-08
29-10
29-11
30-01
30-04
30-16
30-19
30-23
31-01
31-02
31-03
31-04
31-05
31-06
31-07
31-08
31-09
31-10
31-11
32-01
32-02
34-03
36-04
36-05



Modified: trunk/gs/src/gxclrast.c
===================================================================
--- trunk/gs/src/gxclrast.c	2007-02-25 13:58:08 UTC (rev 7743)
+++ trunk/gs/src/gxclrast.c	2007-02-25 19:13:16 UTC (rev 7744)
@@ -2512,7 +2512,9 @@
 	 */
 	dev_proc_fill_parallelogram((*fill));
 
-	if (pseg2->next) {
+	/* close_path of 3 point triangle adds 4th point, detected here.*/
+	/* close_path on parallelogram adds 5th point also ignored. */
+	if (pseg2->next && !(px == pseg2->next->pt.x && py == pseg2->next->pt.y)) {
 	    /* Parallelogram */
 	    fill = dev_proc(dev, fill_parallelogram);
 	    bx = pseg2->pt.x - pseg1->pt.x;



More information about the gs-cvs mailing list