Rev 1993 | Rev 2012 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1993 | Rev 1994 | ||
---|---|---|---|
Line 157... | Line 157... | ||
157 | static int byte0888_rgb(void *src) |
157 | static int byte0888_rgb(void *src) |
158 | { |
158 | { |
159 | return (*(int *)src) & 0xffffff; |
159 | return (*(int *)src) & 0xffffff; |
160 | } |
160 | } |
161 | 161 | ||
- | 162 | static void bgr_byte0888(void *dst, int rgb) |
|
- | 163 | { |
|
- | 164 | *((uint32_t *) dst) = BLUE(rgb, 8) << 16 | GREEN(rgb, 8) << 8 | RED(rgb, 8); |
|
- | 165 | } |
|
- | 166 | ||
- | 167 | static int byte0888_bgr(void *src) |
|
- | 168 | { |
|
- | 169 | int color = *(uint32_t *)(src); |
|
- | 170 | return ((color & 0xff) << 16) | (((color >> 8) & 0xff) << 8) | ((color >> 16) & 0xff); |
|
- | 171 | } |
|
- | 172 | ||
162 | static void rgb_byte888(void *dst, int rgb) |
173 | static void rgb_byte888(void *dst, int rgb) |
163 | { |
174 | { |
164 | uint8_t *scr = dst; |
175 | uint8_t *scr = dst; |
165 | #if defined(FB_INVERT_ENDIAN) |
176 | #if defined(FB_INVERT_ENDIAN) |
166 | scr[0] = RED(rgb, 8); |
177 | scr[0] = RED(rgb, 8); |
Line 507... | Line 518... | ||
507 | case VISUAL_RGB_0_8_8_8: |
518 | case VISUAL_RGB_0_8_8_8: |
508 | screen.rgb2scr = rgb_byte0888; |
519 | screen.rgb2scr = rgb_byte0888; |
509 | screen.scr2rgb = byte0888_rgb; |
520 | screen.scr2rgb = byte0888_rgb; |
510 | screen.pixelbytes = 4; |
521 | screen.pixelbytes = 4; |
511 | break; |
522 | break; |
- | 523 | case VISUAL_BGR_0_8_8_8: |
|
- | 524 | screen.rgb2scr = bgr_byte0888; |
|
- | 525 | screen.scr2rgb = byte0888_bgr; |
|
- | 526 | screen.pixelbytes = 4; |
|
- | 527 | break; |
|
512 | default: |
528 | default: |
513 | return false; |
529 | return false; |
514 | } |
530 | } |
515 | 531 | ||
516 | screen.fbaddress = (unsigned char *) addr; |
532 | screen.fbaddress = (unsigned char *) addr; |