mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Fix a display glitch in Keen's pencil-mode cursor.
Draw pencil-mode cursor before corners of thick lines in order to make the thick lines appear on top of the north-west corner of the pencil cursor, just like they do with the non-pencil cursor.
This commit is contained in:

committed by
Simon Tatham

parent
b9dfef7a12
commit
6482ed0e3c
24
keen.c
24
keen.c
@ -1790,6 +1790,18 @@ static void draw_tile(drawing *dr, game_drawstate *ds, struct clues *clues,
|
||||
draw_rect(dr, cx, cy, cw, ch,
|
||||
(tile & DF_HIGHLIGHT) ? COL_HIGHLIGHT : COL_BACKGROUND);
|
||||
|
||||
/* pencil-mode highlight */
|
||||
if (tile & DF_HIGHLIGHT_PENCIL) {
|
||||
int coords[6];
|
||||
coords[0] = cx;
|
||||
coords[1] = cy;
|
||||
coords[2] = cx+cw/2;
|
||||
coords[3] = cy;
|
||||
coords[4] = cx;
|
||||
coords[5] = cy+ch/2;
|
||||
draw_polygon(dr, coords, 3, COL_HIGHLIGHT, COL_HIGHLIGHT);
|
||||
}
|
||||
|
||||
/*
|
||||
* Draw the corners of thick lines in corner-adjacent squares,
|
||||
* which jut into this square by one pixel.
|
||||
@ -1803,18 +1815,6 @@ static void draw_tile(drawing *dr, game_drawstate *ds, struct clues *clues,
|
||||
if (x+1 < w && y+1 < w && dsf_canonify(clues->dsf, y*w+x) != dsf_canonify(clues->dsf, (y+1)*w+x+1))
|
||||
draw_rect(dr, tx+TILESIZE-1-2*GRIDEXTRA, ty+TILESIZE-1-2*GRIDEXTRA, GRIDEXTRA, GRIDEXTRA, COL_GRID);
|
||||
|
||||
/* pencil-mode highlight */
|
||||
if (tile & DF_HIGHLIGHT_PENCIL) {
|
||||
int coords[6];
|
||||
coords[0] = cx;
|
||||
coords[1] = cy;
|
||||
coords[2] = cx+cw/2;
|
||||
coords[3] = cy;
|
||||
coords[4] = cx;
|
||||
coords[5] = cy+ch/2;
|
||||
draw_polygon(dr, coords, 3, COL_HIGHLIGHT, COL_HIGHLIGHT);
|
||||
}
|
||||
|
||||
/* Draw the box clue. */
|
||||
if (dsf_canonify(clues->dsf, y*w+x) == y*w+x) {
|
||||
long clue = clues->clues[y*w+x];
|
||||
|
Reference in New Issue
Block a user