Changeset 19490ce in mainline for uspace/srv
- Timestamp:
- 2009-08-03T21:06:35Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9035c5a
- Parents:
- dd2cfa7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fb/fb.c
rdd2cfa7 r19490ce 290 290 } 291 291 292 static void bgr_555(void *dst, uint32_t rgb) 293 { 294 uint8_t hi = (BLUE(rgb, 5) | (GREEN(rgb, 5) << 5)) & 0xff; 295 uint8_t lo = (GREEN(rgb, 5) >> 3) | (RED(rgb, 5) << 2); 296 *((uint16_t *) dst) = host2uint16_t_be((hi << 8) | lo); 292 static void rgb_555_be(void *dst, uint32_t rgb) 293 { 294 *((uint16_t *) dst) = host2uint16_t_be(RED(rgb, 5) << 10 | 295 GREEN(rgb, 5) << 5 | BLUE(rgb, 5)); 296 } 297 298 static void rgb_555_le(void *dst, uint32_t rgb) 299 { 300 *((uint16_t *) dst) = host2uint16_t_le(RED(rgb, 5) << 10 | 301 GREEN(rgb, 5) << 5 | BLUE(rgb, 5)); 302 } 303 304 static void rgb_565_be(void *dst, uint32_t rgb) 305 { 306 *((uint16_t *) dst) = host2uint16_t_be(RED(rgb, 5) << 11 | 307 GREEN(rgb, 6) << 5 | BLUE(rgb, 5)); 308 } 309 310 static void rgb_565_le(void *dst, uint32_t rgb) 311 { 312 *((uint16_t *) dst) = host2uint16_t_le(RED(rgb, 5) << 11 | 313 GREEN(rgb, 6) << 5 | BLUE(rgb, 5)); 297 314 } 298 315 299 316 static void mask_555(void *dst, bool mask) 300 317 { 301 bgr_555(dst, mask ? 0xffffff : 0); 302 } 303 304 static void bgr_565(void *dst, uint32_t rgb) 305 { 306 uint8_t hi = (BLUE(rgb, 5) | (GREEN(rgb, 6) << 5)) & 0xff; 307 uint8_t lo = (GREEN(rgb, 6) >> 3) | (RED(rgb, 5) << 3); 308 *((uint16_t *) dst) = host2uint16_t_be((hi << 8) | lo); 318 rgb_555_be(dst, mask ? 0xffffff : 0); 309 319 } 310 320 311 321 static void mask_565(void *dst, bool mask) 312 322 { 313 bgr_565(dst, mask ? 0xffffff : 0);323 rgb_565_be(dst, mask ? 0xffffff : 0); 314 324 } 315 325 … … 622 632 screen.pixelbytes = 1; 623 633 break; 624 case VISUAL_ BGR_5_5_5:625 screen.rgb_conv = bgr_555;634 case VISUAL_RGB_5_5_5_LE: 635 screen.rgb_conv = rgb_555_le; 626 636 screen.mask_conv = mask_555; 627 637 screen.pixelbytes = 2; 628 638 break; 629 case VISUAL_BGR_5_6_5: 630 screen.rgb_conv = bgr_565; 639 case VISUAL_RGB_5_5_5_BE: 640 screen.rgb_conv = rgb_555_be; 641 screen.mask_conv = mask_555; 642 screen.pixelbytes = 2; 643 break; 644 case VISUAL_RGB_5_6_5_LE: 645 screen.rgb_conv = rgb_565_le; 646 screen.mask_conv = mask_565; 647 screen.pixelbytes = 2; 648 break; 649 case VISUAL_RGB_5_6_5_BE: 650 screen.rgb_conv = rgb_565_be; 631 651 screen.mask_conv = mask_565; 632 652 screen.pixelbytes = 2;
Note:
See TracChangeset
for help on using the changeset viewer.