diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/sliding_puzzle.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index 7df303df2d..7087fd64a5 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c | |||
@@ -229,6 +229,13 @@ PLUGIN_HEADER | |||
229 | #endif | 229 | #endif |
230 | #endif | 230 | #endif |
231 | 231 | ||
232 | #ifdef HAVE_ALBUMART | ||
233 | #include "lib/read_image.h" | ||
234 | #define READ_IMAGE read_image_file | ||
235 | #else | ||
236 | #define READ_IMAGE rb->read_bmp_file | ||
237 | #endif | ||
238 | |||
232 | #include "pluginbitmaps/sliding_puzzle.h" | 239 | #include "pluginbitmaps/sliding_puzzle.h" |
233 | #define IMAGE_WIDTH BMPWIDTH_sliding_puzzle | 240 | #define IMAGE_WIDTH BMPWIDTH_sliding_puzzle |
234 | #define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle | 241 | #define IMAGE_HEIGHT BMPHEIGHT_sliding_puzzle |
@@ -277,9 +284,8 @@ static int num_font = FONT_UI; | |||
277 | static int moves_font = FONT_UI; | 284 | static int moves_font = FONT_UI; |
278 | static int moves_y = 0; | 285 | static int moves_y = 0; |
279 | 286 | ||
280 | static unsigned char img_buf | 287 | static unsigned char *img_buf; |
281 | [BM_SCALED_SIZE(IMAGE_WIDTH,IMAGE_HEIGHT,FORMAT_NATIVE,0)] | 288 | static size_t img_buf_len; |
282 | __attribute__ ((aligned(16))); | ||
283 | #ifdef HAVE_ALBUMART | 289 | #ifdef HAVE_ALBUMART |
284 | static char albumart_path[MAX_PATH+1]; | 290 | static char albumart_path[MAX_PATH+1]; |
285 | #endif | 291 | #endif |
@@ -358,10 +364,10 @@ static bool load_resize_bitmap(void) | |||
358 | main_bitmap.width = IMAGE_WIDTH; | 364 | main_bitmap.width = IMAGE_WIDTH; |
359 | main_bitmap.height = IMAGE_HEIGHT; | 365 | main_bitmap.height = IMAGE_HEIGHT; |
360 | 366 | ||
361 | rc = rb->read_bmp_file( filename, &main_bitmap, | 367 | rc = READ_IMAGE( filename, &main_bitmap, |
362 | sizeof(img_buf), | 368 | img_buf_len, |
363 | FORMAT_NATIVE|FORMAT_RESIZE|FORMAT_DITHER, | 369 | FORMAT_NATIVE|FORMAT_RESIZE|FORMAT_DITHER, |
364 | NULL); | 370 | NULL); |
365 | if( rc > 0 ) | 371 | if( rc > 0 ) |
366 | { | 372 | { |
367 | puzzle_bmp_ptr = (const fb_data *)img_buf; | 373 | puzzle_bmp_ptr = (const fb_data *)img_buf; |
@@ -637,6 +643,7 @@ enum plugin_status plugin_start( | |||
637 | int i, w, h; | 643 | int i, w, h; |
638 | 644 | ||
639 | initial_bmp_path=(const char *)parameter; | 645 | initial_bmp_path=(const char *)parameter; |
646 | img_buf = rb->plugin_get_buffer(&img_buf_len); | ||
640 | picmode = PICMODE_INITIAL_PICTURE; | 647 | picmode = PICMODE_INITIAL_PICTURE; |
641 | img_buf_path[0] = '\0'; | 648 | img_buf_path[0] = '\0'; |
642 | 649 | ||