From d219491e58159c237f2dcbf60b255dc3c49c159d Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sun, 15 Jul 2007 01:06:04 +0000 Subject: Gigabeat: Add the funky foreground color support for transparent bitmaps. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13898 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c') diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c index bc391632ad..b680b15d25 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c @@ -227,7 +227,9 @@ void lcd_bitmap_transparent_part(const fb_data *src, int src_x, int src_y, ".nextpixel: \r\n" "ldrh %[px], [%[s]], #2 \r\n" /* Load src pixel */ "add %[d], %[d], #2 \r\n" /* Uncoditionally increment dst */ - "cmp %[px], %[transcolor] \r\n" /* Compare to transparent color */ + "cmp %[px], %[fgcolor] \r\n" /* Compare to foreground color */ + "streqh %[fgpat], [%[d], #-2] \r\n" /* Store foregroud if match */ + "cmpne %[px], %[transcolor] \r\n" /* Compare to transparent color */ "strneh %[px], [%[d], #-2] \r\n" /* Store dst if not transparent */ "subs %[w], %[w], #1 \r\n" /* Width counter has run down? */ "bgt .nextpixel \r\n" /* More in this row? */ @@ -240,7 +242,9 @@ void lcd_bitmap_transparent_part(const fb_data *src, int src_x, int src_y, : [width]"r"(width), [sstp]"r"(stride - width), [dstp]"r"(LCD_WIDTH - width), - [transcolor]"r"(TRANSPARENT_COLOR) + [transcolor]"r"(TRANSPARENT_COLOR), + [fgcolor]"r"(REPLACEWITHFG_COLOR), + [fgpat]"r"(fg_pattern) ); } -- cgit v1.2.3