summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
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