summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1f801ab)
raw | patch | inline | side by side (parent: 1f801ab)
author | buliabyak <buliabyak@users.sourceforge.net> | |
Mon, 1 Sep 2008 23:05:38 +0000 (23:05 +0000) | ||
committer | buliabyak <buliabyak@users.sourceforge.net> | |
Mon, 1 Sep 2008 23:05:38 +0000 (23:05 +0000) |
src/display/inkscape-cairo.cpp | patch | blob | history |
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
*/
}
}