Code

comment update
authorbuliabyak <buliabyak@users.sourceforge.net>
Mon, 1 Sep 2008 23:05:38 +0000 (23:05 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Mon, 1 Sep 2008 23:05:38 +0000 (23:05 +0000)
src/display/inkscape-cairo.cpp

index 4895418f0fe3d47053945ea13d3fbffe69879a19..2ef726aab98905fd8497a65390a4b1546e170cba 100644 (file)
@@ -194,11 +194,19 @@ feed_path_to_cairo (cairo_t *ct, Geom::Path const &path, Geom::Matrix trans, boo
 
     if (path.closed()) {
         cairo_line_to(ct, initial[0], initial[1]);
-        /* It seems we cannot use cairo_close_path(ct) here; maybe because some parts of the path have been clipped and not drawn (maybe the before last segment was outside view area)
+        /* We cannot use cairo_close_path(ct) here because some parts of the path may have been
+           clipped and not drawn (maybe the before last segment was outside view area), which 
+           would result in closing the "subpath" after the last interruption, not the entire path.
+
            However, according to cairo documentation:
            The behavior of cairo_close_path() is distinct from simply calling cairo_line_to() with the equivalent coordinate
            in the case of stroking. When a closed sub-path is stroked, there are no caps on the ends of the sub-path. Instead,
            there is a line join connecting the final and initial segments of the sub-path. 
+
+           The correct fix will be possible when cairo introduces methods for moving without
+           ending/starting subpaths, which we will use for skipping invisible segments; then we
+           will be able to use cairo_close_path here. This issue also affects ps/eps/pdf export,
+           see bug 168129
         */
     }
 }