Patch from Mark Wooding to introduce a draw_thick_line() function in

the drawing API, for use by Loopy. It's optional: drawing.c will
construct an acceptable alternative using a filled polygon if the
front end doesn't provide it.

Net and Netslide previously had static functions called
draw_thick_line(), whose claim to the name is less justified and so
they've been renamed.

[originally from svn r8962]
This commit is contained in:
Simon Tatham
2010-05-29 15:43:46 +00:00
parent ef6e78c6ac
commit 9cd182ffa9
7 changed files with 95 additions and 25 deletions

10
net.c
View File

@ -2377,8 +2377,8 @@ static float *game_colours(frontend *fe, int *ncolours)
return ret;
}
static void draw_thick_line(drawing *dr, int x1, int y1, int x2, int y2,
int colour)
static void draw_filled_line(drawing *dr, int x1, int y1, int x2, int y2,
int colour)
{
draw_line(dr, x1-1, y1, x2-1, y2, COL_WIRE);
draw_line(dr, x1+1, y1, x2+1, y2, COL_WIRE);
@ -2514,9 +2514,9 @@ static void draw_tile(drawing *dr, game_state *state, game_drawstate *ds,
ex = (TILE_SIZE - TILE_BORDER - 1.0F) / 2.0F * X(dir);
ey = (TILE_SIZE - TILE_BORDER - 1.0F) / 2.0F * Y(dir);
MATMUL(tx, ty, matrix, ex, ey);
draw_thick_line(dr, bx+(int)cx, by+(int)cy,
bx+(int)(cx+tx), by+(int)(cy+ty),
COL_WIRE);
draw_filled_line(dr, bx+(int)cx, by+(int)cy,
bx+(int)(cx+tx), by+(int)(cy+ty),
COL_WIRE);
}
}
for (dir = 1; dir < 0x10; dir <<= 1) {