From 3722a99dd4f10425bd09b28b05b2bfe9f90fdd4f Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Sun, 29 Jan 2006 09:58:53 +0000 Subject: Better working fix for the BMP loader transparency flag bug git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8481 a1c6a512-1295-4272-9138-f99709370657 --- apps/recorder/bmp.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'apps/recorder') diff --git a/apps/recorder/bmp.c b/apps/recorder/bmp.c index 2e377df0ed..806d97081b 100644 --- a/apps/recorder/bmp.c +++ b/apps/recorder/bmp.c @@ -127,7 +127,15 @@ int read_bmp_file(char* filename, #if LCD_DEPTH == 1 (void)format; +#else + bool transparent; + + if(format & FORMAT_TRANSPARENT) { + transparent = true; + format &= ~FORMAT_TRANSPARENT; + } #endif + fd = open(filename, O_RDONLY); @@ -175,7 +183,7 @@ int read_bmp_file(char* filename, PaddedWidth = (width * depth / 8 + 3) & ~3; #if LCD_DEPTH > 1 - if(format & FORMAT_ANY) { + if(format == FORMAT_ANY) { if(depth == 1) format = FORMAT_MONO; else @@ -184,7 +192,7 @@ int read_bmp_file(char* filename, #endif /* PaddedHeight is for rockbox format. */ - if(format & FORMAT_MONO) { + if(format == FORMAT_MONO) { PaddedHeight = (height + 7) / 8; totalsize = PaddedHeight * width; } else { @@ -230,7 +238,7 @@ int read_bmp_file(char* filename, lseek(fd, (off_t)readlong(&fh.OffBits), SEEK_SET); #if LCD_DEPTH == 2 - if(format & FORMAT_NATIVE) + if(format == FORMAT_NATIVE) memset(bitmap, 0, width * height / 4); #endif @@ -254,7 +262,7 @@ int read_bmp_file(char* filename, switch(depth) { case 1: #if LCD_DEPTH > 1 - if(format & FORMAT_MONO) { + if(format == FORMAT_MONO) { #endif /* Mono -> Mono */ for (col = 0; col < width; col++) { @@ -299,7 +307,7 @@ int read_bmp_file(char* filename, case 24: p = bmpbuf; #if LCD_DEPTH > 1 - if(format & FORMAT_MONO) { + if(format == FORMAT_MONO) { #endif /* RGB24 -> mono */ for (col = 0; col < width; col++) { -- cgit v1.2.3