1
0
Fork 0
forked from len0rd/rockbox

Sliding_puzzle: rearrange the default bitmap definitions and add two more sizes of the bitmap (fixes issues on Nano and small H10). The 'Moves' box is still not fully visible on the latter, I plan to work on it but thought the fix was worth an own commit already. Also let the plugin retrieve the image width and height from the bitmap.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16188 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Marianne Arnold 2008-01-31 18:08:22 +00:00
parent 644ed7c278
commit cdc933f40f
4 changed files with 32 additions and 23 deletions

View file

@ -526,8 +526,8 @@ superdom_boarditems.240x320x16.bmp
#endif
#endif
/* Matrix */
#if LCD_DEPTH > 1
/* matrix */
matrix_bold.bmp
matrix_normal.bmp
#endif
@ -546,23 +546,34 @@ matrix_normal.bmp
#endif
#endif
#if defined(HAVE_LCD_COLOR)
#if (LCD_WIDTH==132 && LCD_HEIGHT==80)
/* Sliding puzzle */
#if (LCD_WIDTH != LCD_HEIGHT)
#define SMALLER_DIMENSION ((LCD_WIDTH < LCD_HEIGHT) ? LCD_WIDTH : LCD_HEIGHT)
#else /* 5/6GB H10 with square display */
#define SMALLER_DIMENSION (LCD_HEIGHT - 18)
#endif
#if defined HAVE_LCD_COLOR
#if SMALLER_DIMENSION <= 80
sliding_puzzle.80x80x16.bmp
#elif (LCD_WIDTH==128 || LCD_HEIGHT==128)
#elif SMALLER_DIMENSION <= 112
sliding_puzzle.110x110x16.bmp
#elif SMALLER_DIMENSION <= 128
sliding_puzzle.128x128x16.bmp
#elif (LCD_WIDTH==176 || LCD_HEIGHT==176)
#elif SMALLER_DIMENSION <= 132
sliding_puzzle.132x132x16.bmp
#elif SMALLER_DIMENSION <= 176
sliding_puzzle.176x176x16.bmp
#elif (LCD_WIDTH==240 || LCD_HEIGHT==240)
#elif SMALLER_DIMENSION <= 240
sliding_puzzle.240x240x16.bmp
#endif
#elif (LCD_DEPTH>1)
#if (LCD_WIDTH==110 || LCD_HEIGHT==110)
#elif (LCD_DEPTH > 1)
#if SMALLER_DIMENSION <= 110
sliding_puzzle.110x110x2.bmp
#elif (LCD_WIDTH==128 || LCD_HEIGHT==128)
#elif SMALLER_DIMENSION <= 128
sliding_puzzle.128x128x2.bmp
#endif
#elif (LCD_WIDTH>=80 && LCD_HEIGHT==64)
#else /* mono targets, one size currently */
sliding_puzzle.80x64x1.bmp
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -95,16 +95,17 @@ PLUGIN_HEADER
#endif
#include "sliding_puzzle.h"
#define IMAGE_WIDTH BMPWIDTH_sliding_puzzle
#define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle
#define IMAGE_SIZE IMAGE_WIDTH
static struct plugin_api* rb;
#if LCD_DEPTH==1
/* for recorder, use rectangular image, 5x4 puzzle */
/* for Archos, use rectangular image, 5x4 puzzle */
#define SPOTS_X 5
#define SPOTS_Y 4
#define SPOTS_WIDTH 16
#define SPOTS_HEIGHT 16
#define IMAGE_WIDTH 80
#define IMAGE_HEIGHT 64
#define IMAGE_SIZE 80
#else
/* for other targets, use a square image, 4x4 puzzle
Puzzle image dimension is min(lcd_height,lcd_width)
@ -113,13 +114,10 @@ static struct plugin_api* rb;
and SPOTS_Y, otherwise lcd_bitmap_part stride won't be correct */
#define SPOTS_X 4
#define SPOTS_Y 4
#define IMAGE_SIZE ( (LCD_WIDTH<LCD_HEIGHT)?LCD_WIDTH:LCD_HEIGHT )
#define IMAGE_WIDTH IMAGE_SIZE
#define IMAGE_HEIGHT IMAGE_SIZE
#define SPOTS_WIDTH (IMAGE_WIDTH/SPOTS_X)
#define SPOTS_HEIGHT (IMAGE_HEIGHT/SPOTS_Y)
#endif
#define SPOTS_WIDTH (IMAGE_WIDTH / SPOTS_X)
#define SPOTS_HEIGHT (IMAGE_HEIGHT / SPOTS_Y)
#define NUM_SPOTS (SPOTS_X*SPOTS_Y)
#define HOLE_ID (NUM_SPOTS)
#define INITIAL_HOLE (HOLE_ID-1)