mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-10 13:45:10 -05:00
Fix RGB565SWAPPED lcd output
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8313 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
0e419987e4
commit
84e2528271
1 changed files with 5 additions and 3 deletions
|
|
@ -31,6 +31,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include "screenhack.h"
|
#include "screenhack.h"
|
||||||
|
#include "system.h"
|
||||||
#include "config.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);
|
colors[p] = SDL_MapRGB(surface->format, 255-gray, 255-gray, 255-gray);
|
||||||
#elif LCD_DEPTH == 16
|
#elif LCD_DEPTH == 16
|
||||||
#if LCD_PIXELFORMAT == RGB565SWAPPED
|
#if LCD_PIXELFORMAT == RGB565SWAPPED
|
||||||
unsigned b = ((lcd_framebuffer[y][x] >> 11) & 0x1f) << 3;
|
unsigned short pixel = swap16(lcd_framebuffer[y][x]);
|
||||||
unsigned g = ((lcd_framebuffer[y][x] >> 5) & 0x3f) << 2;
|
unsigned r = ((pixel >> 11) & 0x1f) << 3;
|
||||||
unsigned r = ((lcd_framebuffer[y][x]) & 0x1f) << 3;
|
unsigned g = ((pixel >> 5) & 0x3f) << 2;
|
||||||
|
unsigned b = (pixel & 0x1f) << 3;
|
||||||
points[p].x = x + MARGIN_X;
|
points[p].x = x + MARGIN_X;
|
||||||
points[p].y = y + MARGIN_Y;
|
points[p].y = y + MARGIN_Y;
|
||||||
colors[p] = SDL_MapRGB(surface->format, r, g, b);
|
colors[p] = SDL_MapRGB(surface->format, r, g, b);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue