From: Bo Lindbergh Date: Wed, 2 Sep 2015 19:58:55 +0000 (+0200) Subject: Implement osx_draw_thick_line X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;ds=sidebyside;h=eda5a867872e718b62ea52373ec9f44aa0c3bda2;p=sgt-puzzles.git Implement osx_draw_thick_line --- 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)