summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorMarianne Arnold <pixelma@rockbox.org>2008-01-31 18:08:22 +0000
committerMarianne Arnold <pixelma@rockbox.org>2008-01-31 18:08:22 +0000
commitcdc933f40fd5b551fb7e0130262bb44b0ec2e6aa (patch)
treee171dfbea47b2736c4e03fa81a64c59386c293d4 /apps/plugins
parent644ed7c2783dc90b54b5d1cb0c84567cfb12416a (diff)
downloadrockbox-cdc933f40fd5b551fb7e0130262bb44b0ec2e6aa.tar.gz
rockbox-cdc933f40fd5b551fb7e0130262bb44b0ec2e6aa.zip
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
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/bitmaps/native/SOURCES31
-rw-r--r--apps/plugins/bitmaps/native/sliding_puzzle.110x110x16.bmpbin0 -> 36574 bytes
-rw-r--r--apps/plugins/bitmaps/native/sliding_puzzle.132x132x16.bmpbin0 -> 52326 bytes
-rw-r--r--apps/plugins/sliding_puzzle.c24
4 files changed, 32 insertions, 23 deletions
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index c9675d6c1a..d9a0be32c9 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -526,8 +526,8 @@ superdom_boarditems.240x320x16.bmp
526#endif 526#endif
527#endif 527#endif
528 528
529/* Matrix */
529#if LCD_DEPTH > 1 530#if LCD_DEPTH > 1
530/* matrix */
531matrix_bold.bmp 531matrix_bold.bmp
532matrix_normal.bmp 532matrix_normal.bmp
533#endif 533#endif
@@ -546,23 +546,34 @@ matrix_normal.bmp
546#endif 546#endif
547#endif 547#endif
548 548
549#if defined(HAVE_LCD_COLOR) 549/* Sliding puzzle */
550#if (LCD_WIDTH==132 && LCD_HEIGHT==80) 550#if (LCD_WIDTH != LCD_HEIGHT)
551#define SMALLER_DIMENSION ((LCD_WIDTH < LCD_HEIGHT) ? LCD_WIDTH : LCD_HEIGHT)
552#else /* 5/6GB H10 with square display */
553#define SMALLER_DIMENSION (LCD_HEIGHT - 18)
554#endif
555
556#if defined HAVE_LCD_COLOR
557#if SMALLER_DIMENSION <= 80
551 sliding_puzzle.80x80x16.bmp 558 sliding_puzzle.80x80x16.bmp
552#elif (LCD_WIDTH==128 || LCD_HEIGHT==128) 559#elif SMALLER_DIMENSION <= 112
560 sliding_puzzle.110x110x16.bmp
561#elif SMALLER_DIMENSION <= 128
553 sliding_puzzle.128x128x16.bmp 562 sliding_puzzle.128x128x16.bmp
554#elif (LCD_WIDTH==176 || LCD_HEIGHT==176) 563#elif SMALLER_DIMENSION <= 132
564 sliding_puzzle.132x132x16.bmp
565#elif SMALLER_DIMENSION <= 176
555 sliding_puzzle.176x176x16.bmp 566 sliding_puzzle.176x176x16.bmp
556#elif (LCD_WIDTH==240 || LCD_HEIGHT==240) 567#elif SMALLER_DIMENSION <= 240
557 sliding_puzzle.240x240x16.bmp 568 sliding_puzzle.240x240x16.bmp
558#endif 569#endif
559#elif (LCD_DEPTH>1) 570#elif (LCD_DEPTH > 1)
560#if (LCD_WIDTH==110 || LCD_HEIGHT==110) 571#if SMALLER_DIMENSION <= 110
561 sliding_puzzle.110x110x2.bmp 572 sliding_puzzle.110x110x2.bmp
562#elif (LCD_WIDTH==128 || LCD_HEIGHT==128) 573#elif SMALLER_DIMENSION <= 128
563 sliding_puzzle.128x128x2.bmp 574 sliding_puzzle.128x128x2.bmp
564#endif 575#endif
565#elif (LCD_WIDTH>=80 && LCD_HEIGHT==64) 576#else /* mono targets, one size currently */
566 sliding_puzzle.80x64x1.bmp 577 sliding_puzzle.80x64x1.bmp
567#endif 578#endif
568 579
diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.110x110x16.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.110x110x16.bmp
new file mode 100644
index 0000000000..740b957d46
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sliding_puzzle.110x110x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.132x132x16.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.132x132x16.bmp
new file mode 100644
index 0000000000..65021c94b4
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sliding_puzzle.132x132x16.bmp
Binary files differ
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index bb497deb8e..ce2ae810d5 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -95,16 +95,17 @@ PLUGIN_HEADER
95 95
96#endif 96#endif
97 97
98
99#include "sliding_puzzle.h"
100#define IMAGE_WIDTH BMPWIDTH_sliding_puzzle
101#define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle
102#define IMAGE_SIZE IMAGE_WIDTH
103
98static struct plugin_api* rb; 104static struct plugin_api* rb;
99#if LCD_DEPTH==1 105#if LCD_DEPTH==1
100/* for recorder, use rectangular image, 5x4 puzzle */ 106/* for Archos, use rectangular image, 5x4 puzzle */
101#define SPOTS_X 5 107#define SPOTS_X 5
102#define SPOTS_Y 4 108#define SPOTS_Y 4
103#define SPOTS_WIDTH 16
104#define SPOTS_HEIGHT 16
105#define IMAGE_WIDTH 80
106#define IMAGE_HEIGHT 64
107#define IMAGE_SIZE 80
108#else 109#else
109/* for other targets, use a square image, 4x4 puzzle 110/* for other targets, use a square image, 4x4 puzzle
110 Puzzle image dimension is min(lcd_height,lcd_width) 111 Puzzle image dimension is min(lcd_height,lcd_width)
@@ -113,15 +114,12 @@ static struct plugin_api* rb;
113 and SPOTS_Y, otherwise lcd_bitmap_part stride won't be correct */ 114 and SPOTS_Y, otherwise lcd_bitmap_part stride won't be correct */
114#define SPOTS_X 4 115#define SPOTS_X 4
115#define SPOTS_Y 4 116#define SPOTS_Y 4
116#define IMAGE_SIZE ( (LCD_WIDTH<LCD_HEIGHT)?LCD_WIDTH:LCD_HEIGHT )
117#define IMAGE_WIDTH IMAGE_SIZE
118#define IMAGE_HEIGHT IMAGE_SIZE
119#define SPOTS_WIDTH (IMAGE_WIDTH/SPOTS_X)
120#define SPOTS_HEIGHT (IMAGE_HEIGHT/SPOTS_Y)
121#endif 117#endif
122 118
123#define NUM_SPOTS (SPOTS_X*SPOTS_Y) 119#define SPOTS_WIDTH (IMAGE_WIDTH / SPOTS_X)
124#define HOLE_ID (NUM_SPOTS) 120#define SPOTS_HEIGHT (IMAGE_HEIGHT / SPOTS_Y)
121#define NUM_SPOTS (SPOTS_X*SPOTS_Y)
122#define HOLE_ID (NUM_SPOTS)
125#define INITIAL_HOLE (HOLE_ID-1) 123#define INITIAL_HOLE (HOLE_ID-1)
126 124
127enum picmodes 125enum picmodes