Subversion Repositories HelenOS

Rev

Rev 1993 | Rev 2012 | Go to most recent revision | Show entire file | Ignore 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;