summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-03-08 01:14:46 +0000
committerJens Arnold <amiconn@rockbox.org>2006-03-08 01:14:46 +0000
commit19b45a4374bb3efda4f554d3d806835368d1536a (patch)
tree1fac6f5b900e7e40d9f770d14c5701db6231ec0f /firmware/drivers
parent761652abf71dcae63769a67388575fa47b6e8567 (diff)
downloadrockbox-19b45a4374bb3efda4f554d3d806835368d1536a.tar.gz
rockbox-19b45a4374bb3efda4f554d3d806835368d1536a.zip
LCD extension library: Implemented scrolling for LCD depths below 8 bit. * Oscilloscope: Use new scrolling function, some minor optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8951 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/lcd-2bit-horz.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c
index 164e94cb73..a76ebe1f0d 100644
--- a/firmware/drivers/lcd-2bit-horz.c
+++ b/firmware/drivers/lcd-2bit-horz.c
@@ -38,7 +38,7 @@
38 38
39/*** globals ***/ 39/*** globals ***/
40 40
41unsigned char lcd_framebuffer[LCD_HEIGHT][FB_WIDTH] IBSS_ATTR; 41unsigned char lcd_framebuffer[LCD_HEIGHT][LCD_FBWIDTH] IBSS_ATTR;
42 42
43static const unsigned char dibits[16] ICONST_ATTR = { 43static const unsigned char dibits[16] ICONST_ATTR = {
44 0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F, 44 0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F,
@@ -419,11 +419,11 @@ void lcd_vline(int x, int y1, int y2)
419 dst = &lcd_framebuffer[y1][x>>2]; 419 dst = &lcd_framebuffer[y1][x>>2];
420 mask = pixmask[x & 3]; 420 mask = pixmask[x & 3];
421 421
422 dst_end = dst + (y2 - y1) * FB_WIDTH; 422 dst_end = dst + (y2 - y1) * LCD_FBWIDTH;
423 do 423 do
424 { 424 {
425 bfunc(dst, mask, 0xFFu); 425 bfunc(dst, mask, 0xFFu);
426 dst += FB_WIDTH; 426 dst += LCD_FBWIDTH;
427 } 427 }
428 while (dst <= dst_end); 428 while (dst <= dst_end);
429} 429}
@@ -482,11 +482,11 @@ void lcd_fillrect(int x, int y, int width, int height)
482 { 482 {
483 unsigned char *dst_col = dst; 483 unsigned char *dst_col = dst;
484 484
485 dst_end = dst_col + height * FB_WIDTH; 485 dst_end = dst_col + height * LCD_FBWIDTH;
486 do 486 do
487 { 487 {
488 bfunc(dst_col, mask, 0xFFu); 488 bfunc(dst_col, mask, 0xFFu);
489 dst_col += FB_WIDTH; 489 dst_col += LCD_FBWIDTH;
490 } 490 }
491 while (dst_col < dst_end); 491 while (dst_col < dst_end);
492 492
@@ -495,11 +495,11 @@ void lcd_fillrect(int x, int y, int width, int height)
495 } 495 }
496 mask &= mask_right; 496 mask &= mask_right;
497 497
498 dst_end = dst + height * FB_WIDTH; 498 dst_end = dst + height * LCD_FBWIDTH;
499 do 499 do
500 { 500 {
501 bfunc(dst, mask, 0xFFu); 501 bfunc(dst, mask, 0xFFu);
502 dst += FB_WIDTH; 502 dst += LCD_FBWIDTH;
503 } 503 }
504 while (dst < dst_end); 504 while (dst < dst_end);
505} 505}
@@ -651,7 +651,7 @@ void lcd_bitmap_part(const unsigned char *src, int src_x, int src_y,
651 mask_right = 0xFFu >> (2 * (~nx & 3)); 651 mask_right = 0xFFu >> (2 * (~nx & 3));
652 652
653 shift *= 2; 653 shift *= 2;
654 dst_end = dst + height * FB_WIDTH; 654 dst_end = dst + height * LCD_FBWIDTH;
655 do 655 do
656 { 656 {
657 const unsigned char *src_row = src; 657 const unsigned char *src_row = src;
@@ -678,7 +678,7 @@ void lcd_bitmap_part(const unsigned char *src, int src_x, int src_y,
678 setblock(dst_row, mask_row & mask_right, data); 678 setblock(dst_row, mask_row & mask_right, data);
679 679
680 src += stride; 680 src += stride;
681 dst += FB_WIDTH; 681 dst += LCD_FBWIDTH;
682 } 682 }
683 while (dst < dst_end); 683 while (dst < dst_end);
684} 684}