diff options
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/sudoku.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/apps/plugins/sudoku.c b/apps/plugins/sudoku.c index b6df4e1235..f6342c44d1 100644 --- a/apps/plugins/sudoku.c +++ b/apps/plugins/sudoku.c | |||
@@ -2228,25 +2228,36 @@ void display_board(struct sudoku_state_t* state) | |||
2228 | rb->lcd_vline(XOFSSCRATCHPAD,YOFS,YOFS+BOARD_HEIGHT-1); | 2228 | rb->lcd_vline(XOFSSCRATCHPAD,YOFS,YOFS+BOARD_HEIGHT-1); |
2229 | rb->lcd_vline(XOFSSCRATCHPAD+CELL_WIDTH+1,YOFS,YOFS+BOARD_HEIGHT-1); | 2229 | rb->lcd_vline(XOFSSCRATCHPAD+CELL_WIDTH+1,YOFS,YOFS+BOARD_HEIGHT-1); |
2230 | for (r=0;r<9;r++) { | 2230 | for (r=0;r<9;r++) { |
2231 | #if (LCD_HEIGHT==128) || (LCD_HEIGHT==176) | 2231 | #if LCD_HEIGHT > 64 |
2232 | /* Large targets - draw single/double lines */ | ||
2233 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, | ||
2234 | YOFS+cellypos[r]-1); | ||
2235 | if ((r % 3)==0) | ||
2236 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, | ||
2237 | YOFS+cellypos[r]-2); | ||
2238 | #elif LCD_HEIGHT == 64 | ||
2239 | /* Small targets - draw dotted/single lines */ | ||
2240 | if ((r % 3)==0) { | ||
2241 | /* Solid Line */ | ||
2232 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, | 2242 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, |
2233 | YOFS+cellypos[r]-1); | 2243 | YOFS+cellypos[r]-1); |
2234 | #elif (LCD_HEIGHT==64) | 2244 | } else { |
2245 | /* Dotted line */ | ||
2235 | for (c=XOFSSCRATCHPAD;c<XOFSSCRATCHPAD+CELL_WIDTH+1;c+=2) { | 2246 | for (c=XOFSSCRATCHPAD;c<XOFSSCRATCHPAD+CELL_WIDTH+1;c+=2) { |
2236 | rb->lcd_drawpixel(c,YOFS+cellypos[r]-1); | 2247 | rb->lcd_drawpixel(c,YOFS+cellypos[r]-1); |
2237 | } | 2248 | } |
2249 | } | ||
2238 | #endif | 2250 | #endif |
2239 | if ((r % 3)==0) | ||
2240 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, | ||
2241 | YOFS+cellypos[r]-2); | ||
2242 | if ((r>0) && state->possiblevals[state->y][state->x]&(1<<(r))) | 2251 | if ((r>0) && state->possiblevals[state->y][state->x]&(1<<(r))) |
2243 | rb->lcd_bitmap(num[r],XOFSSCRATCHPAD+1,YOFS+cellypos[r-1], | 2252 | rb->lcd_bitmap(num[r],XOFSSCRATCHPAD+1,YOFS+cellypos[r-1], |
2244 | CELL_WIDTH,CELL_HEIGHT); | 2253 | CELL_WIDTH,CELL_HEIGHT); |
2245 | } | 2254 | } |
2246 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, | 2255 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, |
2247 | YOFS+cellypos[8]+CELL_HEIGHT); | 2256 | YOFS+cellypos[8]+CELL_HEIGHT); |
2257 | #if LCD_HEIGHT > 64 | ||
2248 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, | 2258 | rb->lcd_hline(XOFSSCRATCHPAD,XOFSSCRATCHPAD+CELL_WIDTH+1, |
2249 | YOFS+cellypos[8]+CELL_HEIGHT+1); | 2259 | YOFS+cellypos[8]+CELL_HEIGHT+1); |
2260 | #endif | ||
2250 | if (state->possiblevals[state->y][state->x]&(1<<(r))) | 2261 | if (state->possiblevals[state->y][state->x]&(1<<(r))) |
2251 | rb->lcd_bitmap(num[r],XOFSSCRATCHPAD+1,YOFS+cellypos[8], | 2262 | rb->lcd_bitmap(num[r],XOFSSCRATCHPAD+1,YOFS+cellypos[8], |
2252 | CELL_WIDTH,CELL_HEIGHT); | 2263 | CELL_WIDTH,CELL_HEIGHT); |