[gs-cvs] rev 8109 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Thu Jul 5 23:50:16 PDT 2007
Author: leonardo
Date: 2007-07-05 23:50:15 -0700 (Thu, 05 Jul 2007)
New Revision: 8109
Modified:
trunk/gs/src/gxclpath.c
Log:
Fix : A wrong path filling.
DETAILS :
Bug 689317 "A wrong rendering of a path".
gx_path_merge_contacting_contours didn't account implicit closepath
with non-zero length. Due to that the filling algorithm could
recieve a path with a missed segment. It caused some areas
are missed while filling.
This fix is important for restoring high level clist objects,
which were disabled with rev 5056 change to gdevprn.c .
This fix inserts a line segments at the place of implicit closepath
before merging contours.
Minor change : improving documentation about
gx_path_merge_contacting_contours.
EXPECTED DIFFERENCES :
None.
Modified: trunk/gs/src/gxclpath.c
===================================================================
--- trunk/gs/src/gxclpath.c 2007-07-06 06:00:17 UTC (rev 8108)
+++ trunk/gs/src/gxclpath.c 2007-07-06 06:50:15 UTC (rev 8109)
@@ -1271,6 +1271,14 @@
* ends.
*/
set_first_point();
+ /*
+ * If implicit_close == true, we don't need an explicit closepath,
+ * because the filling algorithm will close subpath automatically.
+ * Otherwise, if open < 0, we have an empty closed path.
+ * If side != 0, it is outside the band, so we can
+ * safely skip it, because the band has been expanded
+ * with line width.
+ */
if (side != 0) {
open = 0;
continue;
More information about the gs-cvs
mailing list