From 84e252827138bd289047050c587bd1f66f3d9307 Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Mon, 9 Jan 2006 11:53:45 +0000 Subject: Fix RGB565SWAPPED lcd output git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8313 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/sdl/lcd-x11.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/uisimulator/sdl/lcd-x11.c b/uisimulator/sdl/lcd-x11.c index 3ab5bc0e16..4dcd325545 100644 --- a/uisimulator/sdl/lcd-x11.c +++ b/uisimulator/sdl/lcd-x11.c @@ -31,6 +31,7 @@ #include #include "screenhack.h" +#include "system.h" #include "config.h" /* @@ -99,9 +100,10 @@ void lcd_update_rect(int x_start, int y_start, colors[p] = SDL_MapRGB(surface->format, 255-gray, 255-gray, 255-gray); #elif LCD_DEPTH == 16 #if LCD_PIXELFORMAT == RGB565SWAPPED - unsigned b = ((lcd_framebuffer[y][x] >> 11) & 0x1f) << 3; - unsigned g = ((lcd_framebuffer[y][x] >> 5) & 0x3f) << 2; - unsigned r = ((lcd_framebuffer[y][x]) & 0x1f) << 3; + unsigned short pixel = swap16(lcd_framebuffer[y][x]); + unsigned r = ((pixel >> 11) & 0x1f) << 3; + unsigned g = ((pixel >> 5) & 0x3f) << 2; + unsigned b = (pixel & 0x1f) << 3; points[p].x = x + MARGIN_X; points[p].y = y + MARGIN_Y; colors[p] = SDL_MapRGB(surface->format, r, g, b); -- cgit v1.2.3