summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2017-08-24 19:30:57 (GMT)
committerfvogel <fvogelnew1@free.fr>2017-08-24 19:30:57 (GMT)
commit0ef3c9007ffca1184323614b7b4bf7d6f8565dbb (patch)
tree8be30083ab09e97dbc195a74248bd8c33e583018 /macosx
parent822405119df96bb41e97177fec589eed3e476385 (diff)
parentdff4ae6a604838f20e92f3c15f476ea05bd38fec (diff)
downloadtk-0ef3c9007ffca1184323614b7b4bf7d6f8565dbb.zip
tk-0ef3c9007ffca1184323614b7b4bf7d6f8565dbb.tar.gz
tk-0ef3c9007ffca1184323614b7b4bf7d6f8565dbb.tar.bz2
polygon and closed polylines in canvas don't fully honor -joinstyle on Windows and OS X
Diffstat (limited to 'macosx')
-rw-r--r--macosx/tkMacOSXDraw.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/macosx/tkMacOSXDraw.c b/macosx/tkMacOSXDraw.c
index 5ca8bfe..d1e67dc 100644
--- a/macosx/tkMacOSXDraw.c
+++ b/macosx/tkMacOSXDraw.c
@@ -858,6 +858,16 @@ XDrawLines(
CGContextAddLineToPoint(dc.context, prevx, prevy);
}
}
+ /*
+ * In the case of closed polylines, the first and last points
+ * are the same. We want miter or bevel join be rendered also
+ * at this point, this needs telling CoreGraphics that the
+ * path is closed.
+ */
+ if ((points[0].x == points[npoints-1].x) &&
+ (points[0].y == points[npoints-1].y)) {
+ CGContextClosePath(dc.context);
+ }
CGContextStrokePath(dc.context);
}
TkMacOSXRestoreDrawingContext(&dc);