aboutsummaryrefslogtreecommitdiff
path: root/pattern.c
diff options
context:
space:
mode:
authorRobert Konigsberg <konigsberg@gmail.com>2020-05-10 14:30:43 -0400
committerSimon Tatham <anakin@pobox.com>2020-05-11 11:25:06 +0100
commit38dd338652912f056fa5634cd927e5a3f60e0df3 (patch)
treecbe33bd23fad123fcf1d032eec250a8f282f9e5b /pattern.c
parent2a0e91bc76738e36e89abd4dcae5f13bc063d210 (diff)
downloadpuzzles-38dd338652912f056fa5634cd927e5a3f60e0df3.zip
puzzles-38dd338652912f056fa5634cd927e5a3f60e0df3.tar.gz
puzzles-38dd338652912f056fa5634cd927e5a3f60e0df3.tar.bz2
puzzles-38dd338652912f056fa5634cd927e5a3f60e0df3.tar.xz
Provide visual guide to the cursor location across the rows and columns.
Diffstat (limited to 'pattern.c')
-rw-r--r--pattern.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/pattern.c b/pattern.c
index ffadd3f..d191bb2 100644
--- a/pattern.c
+++ b/pattern.c
@@ -20,6 +20,7 @@ enum {
COL_GRID,
COL_CURSOR,
COL_ERROR,
+ COL_CURSOR_GUIDE,
NCOLOURS
};
@@ -1658,11 +1659,12 @@ static float *game_colours(frontend *fe, int *ncolours)
frontend_default_colour(fe, &ret[COL_BACKGROUND * 3]);
for (i = 0; i < 3; i++) {
- ret[COL_GRID * 3 + i] = 0.3F;
- ret[COL_UNKNOWN * 3 + i] = 0.5F;
- ret[COL_TEXT * 3 + i] = 0.0F;
- ret[COL_FULL * 3 + i] = 0.0F;
- ret[COL_EMPTY * 3 + i] = 1.0F;
+ ret[COL_GRID * 3 + i] = 0.3F;
+ ret[COL_UNKNOWN * 3 + i] = 0.5F;
+ ret[COL_TEXT * 3 + i] = 0.0F;
+ ret[COL_FULL * 3 + i] = 0.0F;
+ ret[COL_EMPTY * 3 + i] = 1.0F;
+ ret[COL_CURSOR_GUIDE * 3 + i] = 0.5F;
}
ret[COL_CURSOR * 3 + 0] = 1.0F;
ret[COL_CURSOR * 3 + 1] = 0.25F;
@@ -1889,6 +1891,9 @@ static void game_redraw(drawing *dr, game_drawstate *ds,
*/
for (i = 0; i < state->common->w + state->common->h; i++) {
int colour = check_errors(state, i) ? COL_ERROR : COL_TEXT;
+ if (colour == COL_TEXT && ((cx >= 0 && i == cx) || (cy >= 0 && i == cy + ds->w))) {
+ colour = COL_CURSOR_GUIDE;
+ }
if (ds->numcolours[i] != colour) {
draw_numbers(dr, ds, state, i, true, colour);
ds->numcolours[i] = colour;