From eda5a867872e718b62ea52373ec9f44aa0c3bda2 Mon Sep 17 00:00:00 2001 From: Bo Lindbergh Date: Wed, 2 Sep 2015 21:58:55 +0200 Subject: [PATCH] Implement osx_draw_thick_line --- osx.m | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/osx.m b/osx.m index c46e8bc..13abc4e 100644 --- a/osx.m +++ b/osx.m @@ -1352,6 +1352,26 @@ static void osx_draw_line(void *handle, int x1, int y1, int x2, int y2, int colo NSRectFill(NSMakeRect(x1, fe->h-y1-1, 1, 1)); NSRectFill(NSMakeRect(x2, fe->h-y2-1, 1, 1)); } + +static void osx_draw_thick_line( + void *handle, float thickness, + float x1, float y1, + float x2, float y2, + int colour) +{ + frontend *fe = (frontend *)handle; + NSBezierPath *path = [NSBezierPath bezierPath]; + + assert(colour >= 0 && colour < fe->ncolours); + [fe->colours[colour] set]; + [[NSGraphicsContext currentContext] setShouldAntialias: YES]; + [path setLineWidth: thickness]; + [path setLineCapStyle: NSButtLineCapStyle]; + [path moveToPoint: NSMakePoint(x1, fe->h-y1)]; + [path lineToPoint: NSMakePoint(x2, fe->h-y2)]; + [path stroke]; +} + static void osx_draw_rect(void *handle, int x, int y, int w, int h, int colour) { frontend *fe = (frontend *)handle; @@ -1541,6 +1561,7 @@ const struct drawing_api osx_drawing = { NULL, NULL, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */ NULL, NULL, /* line_width, line_dotted */ osx_text_fallback, + osx_draw_thick_line, }; void deactivate_timer(frontend *fe) -- 2.30.2