diff options
author | Karl Kurbjun <kkurbjun@gmail.com> | 2009-09-01 00:57:47 +0000 |
---|---|---|
committer | Karl Kurbjun <kkurbjun@gmail.com> | 2009-09-01 00:57:47 +0000 |
commit | e4345365f18667018dd11cd56cf9106e8ec3c346 (patch) | |
tree | 8531492033abbe2f69a5c753461009b357d9f1d7 | |
parent | 8cb5df6a469ab69179ef304b30455925806b7b95 (diff) | |
download | rockbox-e4345365f18667018dd11cd56cf9106e8ec3c346.tar.gz rockbox-e4345365f18667018dd11cd56cf9106e8ec3c346.zip |
Add in BMP loader for vertical stride and include lcd-16bit-vert.c in SOURCES
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22580 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/recorder/bmp.c | 19 | ||||
-rw-r--r-- | firmware/SOURCES | 4 |
2 files changed, 23 insertions, 0 deletions
diff --git a/apps/recorder/bmp.c b/apps/recorder/bmp.c index 8fcd8ca92e..9f83748a82 100644 --- a/apps/recorder/bmp.c +++ b/apps/recorder/bmp.c | |||
@@ -423,6 +423,24 @@ void output_row_8_native(uint32_t row, void * row_in, | |||
423 | } | 423 | } |
424 | #endif /* LCD_PIXELFORMAT */ | 424 | #endif /* LCD_PIXELFORMAT */ |
425 | #elif LCD_DEPTH == 16 | 425 | #elif LCD_DEPTH == 16 |
426 | #if defined(LCD_STRIDEFORMAT) && LCD_STRIDEFORMAT == VERTICAL_STRIDE | ||
427 | /* M:Robe 500 */ | ||
428 | fb_data *dest = (fb_data *)ctx->bm->data + row; | ||
429 | int delta = 127; | ||
430 | unsigned r, g, b; | ||
431 | for (col = 0; col < ctx->bm->width; col++) { | ||
432 | if (ctx->dither) | ||
433 | delta = DITHERXDY(col,dy); | ||
434 | r = qp->red; | ||
435 | g = qp->green; | ||
436 | b = (qp++)->blue; | ||
437 | r = (31 * r + (r >> 3) + delta) >> 8; | ||
438 | g = (63 * g + (g >> 2) + delta) >> 8; | ||
439 | b = (31 * b + (b >> 3) + delta) >> 8; | ||
440 | *dest = LCD_RGBPACK_LCD(r, g, b); | ||
441 | dest += ctx->bm->height; | ||
442 | } | ||
443 | #else | ||
426 | /* iriver h300, colour iPods, X5 */ | 444 | /* iriver h300, colour iPods, X5 */ |
427 | fb_data *dest = (fb_data *)ctx->bm->data + fb_width * row; | 445 | fb_data *dest = (fb_data *)ctx->bm->data + fb_width * row; |
428 | int delta = 127; | 446 | int delta = 127; |
@@ -438,6 +456,7 @@ void output_row_8_native(uint32_t row, void * row_in, | |||
438 | b = (31 * b + (b >> 3) + delta) >> 8; | 456 | b = (31 * b + (b >> 3) + delta) >> 8; |
439 | *dest++ = LCD_RGBPACK_LCD(r, g, b); | 457 | *dest++ = LCD_RGBPACK_LCD(r, g, b); |
440 | } | 458 | } |
459 | #endif | ||
441 | #endif /* LCD_DEPTH */ | 460 | #endif /* LCD_DEPTH */ |
442 | } | 461 | } |
443 | #endif | 462 | #endif |
diff --git a/firmware/SOURCES b/firmware/SOURCES index 6b641a4b2e..ba37745aff 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -89,7 +89,11 @@ drivers/lcd-2bit-vert.c | |||
89 | drivers/lcd-2bit-vi.c | 89 | drivers/lcd-2bit-vi.c |
90 | #endif /* LCD_PIXELFORMAT */ | 90 | #endif /* LCD_PIXELFORMAT */ |
91 | #elif LCD_DEPTH == 16 | 91 | #elif LCD_DEPTH == 16 |
92 | #if defined(LCD_STRIDEFORMAT) && LCD_STRIDEFORMAT == VERTICAL_STRIDE | ||
93 | drivers/lcd-16bit-vert.c | ||
94 | #else | ||
92 | drivers/lcd-16bit.c | 95 | drivers/lcd-16bit.c |
96 | #endif | ||
93 | #endif /* LCD_DEPTH */ | 97 | #endif /* LCD_DEPTH */ |
94 | #endif /* HAVE_LCD_BITMAP */ | 98 | #endif /* HAVE_LCD_BITMAP */ |
95 | 99 | ||