summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-01-20 00:45:38 +0000
committerJens Arnold <amiconn@rockbox.org>2006-01-20 00:45:38 +0000
commitcd7779c229f89f732869c6b7228833ae859aca88 (patch)
tree019500b62d11bc865a758af095be3cb748b58fce
parent3249f3eb87f2b4b406bf7aead50adeb6a4e4e52e (diff)
downloadrockbox-cd7779c229f89f732869c6b7228833ae859aca88.tar.gz
rockbox-cd7779c229f89f732869c6b7228833ae859aca88.zip
Sudoku: Fixed drawing of scratchpad on archos LCD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8395 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/sudoku.c23
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);