mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Implement osx_draw_thick_line
This commit is contained in:

committed by
Simon Tatham

parent
6f5386c4b9
commit
eda5a86787
21
osx.m
21
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(x1, fe->h-y1-1, 1, 1));
|
||||||
NSRectFill(NSMakeRect(x2, fe->h-y2-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)
|
static void osx_draw_rect(void *handle, int x, int y, int w, int h, int colour)
|
||||||
{
|
{
|
||||||
frontend *fe = (frontend *)handle;
|
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, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */
|
||||||
NULL, NULL, /* line_width, line_dotted */
|
NULL, NULL, /* line_width, line_dotted */
|
||||||
osx_text_fallback,
|
osx_text_fallback,
|
||||||
|
osx_draw_thick_line,
|
||||||
};
|
};
|
||||||
|
|
||||||
void deactivate_timer(frontend *fe)
|
void deactivate_timer(frontend *fe)
|
||||||
|
Reference in New Issue
Block a user