Split out the text color portion of draw_tile

This commit is contained in:
Kevin Lyles
2015-05-16 13:51:34 -05:00
committed by Simon Tatham
parent a614347a3e
commit 7c52202bc4

View File

@ -1598,14 +1598,23 @@ static void draw_tile(drawing *dr, game_drawstate *ds, struct clues *clues,
/* new number needs drawing? */ /* new number needs drawing? */
if (tile & DF_DIGIT_MASK) { if (tile & DF_DIGIT_MASK) {
int color;
str[1] = '\0'; str[1] = '\0';
str[0] = (tile & DF_DIGIT_MASK) + '0'; str[0] = (tile & DF_DIGIT_MASK) + '0';
if (tile & DF_ERROR)
color = COL_ERROR;
else if (x < 0 || y < 0 || x >= w || y >= w)
color = COL_GRID;
else if (tile & DF_IMMUTABLE)
color = COL_GRID;
else
color = COL_USER;
draw_text(dr, tx + TILESIZE/2, ty + TILESIZE/2, FONT_VARIABLE, draw_text(dr, tx + TILESIZE/2, ty + TILESIZE/2, FONT_VARIABLE,
(tile & DF_PLAYAREA ? TILESIZE/2 : TILESIZE*2/5), (tile & DF_PLAYAREA ? TILESIZE/2 : TILESIZE*2/5),
ALIGN_VCENTRE | ALIGN_HCENTRE, ALIGN_VCENTRE | ALIGN_HCENTRE, color, str);
(tile & DF_ERROR) ? COL_ERROR :
(x < 0 || y < 0 || x >= w || y >= w) ? COL_GRID :
(tile & DF_IMMUTABLE) ? COL_GRID : COL_USER, str);
} else { } else {
int i, j, npencil; int i, j, npencil;
int pl, pr, pt, pb; int pl, pr, pt, pb;