diff options
author | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-05-03 20:22:03 +0000 |
---|---|---|
committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-05-03 20:22:03 +0000 |
commit | 69433c8667846672d2297380b4a34ef382b53062 (patch) | |
tree | 6904a08fa3ae72997b9c353eee3542ed18d94314 /firmware | |
parent | 28b5afd05a075cce1f46e5cc85c7e2caae3fc6ee (diff) | |
download | rockbox-69433c8667846672d2297380b4a34ef382b53062.tar.gz rockbox-69433c8667846672d2297380b4a34ef382b53062.zip |
Fix fillrect calculation error for 'Screen scrolls out of view'. Fixes bug 5267. Also some minor code policing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9871 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/lcd-16bit.c | 5 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-horz.c | 5 | ||||
-rw-r--r-- | firmware/drivers/lcd-h100-remote.c | 6 | ||||
-rw-r--r-- | firmware/drivers/lcd-h100.c | 5 | ||||
-rw-r--r-- | firmware/drivers/lcd-recorder.c | 5 |
5 files changed, 16 insertions, 10 deletions
diff --git a/firmware/drivers/lcd-16bit.c b/firmware/drivers/lcd-16bit.c index d337ea95a4..c3307a560a 100644 --- a/firmware/drivers/lcd-16bit.c +++ b/firmware/drivers/lcd-16bit.c | |||
@@ -779,7 +779,8 @@ void lcd_puts_offset(int x, int y, const unsigned char *str, int offset) | |||
779 | 779 | ||
780 | /* put a string at a given char position, style, and pixel position, | 780 | /* put a string at a given char position, style, and pixel position, |
781 | * skipping first offset pixel columns */ | 781 | * skipping first offset pixel columns */ |
782 | void lcd_puts_style_offset(int x, int y, const unsigned char *str, int style, int offset) | 782 | void lcd_puts_style_offset(int x, int y, const unsigned char *str, int style, |
783 | int offset) | ||
783 | { | 784 | { |
784 | int xpos,ypos,w,h; | 785 | int xpos,ypos,w,h; |
785 | int lastmode = drawmode; | 786 | int lastmode = drawmode; |
@@ -797,7 +798,7 @@ void lcd_puts_style_offset(int x, int y, const unsigned char *str, int style, in | |||
797 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; | 798 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; |
798 | lcd_putsxyofs(xpos, ypos, offset, str); | 799 | lcd_putsxyofs(xpos, ypos, offset, str); |
799 | drawmode ^= DRMODE_INVERSEVID; | 800 | drawmode ^= DRMODE_INVERSEVID; |
800 | lcd_fillrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h); | 801 | lcd_fillrect(xpos + w - offset, ypos, LCD_WIDTH - (xpos + w - offset), h); |
801 | drawmode = lastmode; | 802 | drawmode = lastmode; |
802 | } | 803 | } |
803 | 804 | ||
diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c index f965e1b707..abe608f6b6 100644 --- a/firmware/drivers/lcd-2bit-horz.c +++ b/firmware/drivers/lcd-2bit-horz.c | |||
@@ -710,7 +710,8 @@ static void lcd_putsxyofs(int x, int y, int ofs, const unsigned char *str) | |||
710 | 710 | ||
711 | bits = font_get_bits(pf, ch); | 711 | bits = font_get_bits(pf, ch); |
712 | 712 | ||
713 | lcd_mono_bitmap_part(bits, ofs, 0, width, x, y, width - ofs, pf->height); | 713 | lcd_mono_bitmap_part(bits, ofs, 0, width, x, y, width - ofs, |
714 | pf->height); | ||
714 | 715 | ||
715 | x += width - ofs; | 716 | x += width - ofs; |
716 | ofs = 0; | 717 | ofs = 0; |
@@ -762,7 +763,7 @@ void lcd_puts_style_offset(int x, int y, const unsigned char *str, | |||
762 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; | 763 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; |
763 | lcd_putsxyofs(xpos, ypos, offset, str); | 764 | lcd_putsxyofs(xpos, ypos, offset, str); |
764 | drawmode ^= DRMODE_INVERSEVID; | 765 | drawmode ^= DRMODE_INVERSEVID; |
765 | lcd_fillrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h); | 766 | lcd_fillrect(xpos + w - offset, ypos, LCD_WIDTH - (xpos + w - offset), h); |
766 | drawmode = lastmode; | 767 | drawmode = lastmode; |
767 | } | 768 | } |
768 | 769 | ||
diff --git a/firmware/drivers/lcd-h100-remote.c b/firmware/drivers/lcd-h100-remote.c index f1d1956afe..2d16a08a24 100644 --- a/firmware/drivers/lcd-h100-remote.c +++ b/firmware/drivers/lcd-h100-remote.c | |||
@@ -1207,7 +1207,8 @@ void lcd_remote_puts_offset(int x, int y, const unsigned char *str, int offset) | |||
1207 | 1207 | ||
1208 | /* put a string at a given char position, style, and pixel position, | 1208 | /* put a string at a given char position, style, and pixel position, |
1209 | * skipping first offset pixel columns */ | 1209 | * skipping first offset pixel columns */ |
1210 | void lcd_remote_puts_style_offset(int x, int y, const unsigned char *str, int style, int offset) | 1210 | void lcd_remote_puts_style_offset(int x, int y, const unsigned char *str, |
1211 | int style, int offset) | ||
1211 | { | 1212 | { |
1212 | int xpos,ypos,w,h; | 1213 | int xpos,ypos,w,h; |
1213 | int lastmode = drawmode; | 1214 | int lastmode = drawmode; |
@@ -1225,7 +1226,8 @@ void lcd_remote_puts_style_offset(int x, int y, const unsigned char *str, int st | |||
1225 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; | 1226 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; |
1226 | lcd_remote_putsxyofs(xpos, ypos, offset, str); | 1227 | lcd_remote_putsxyofs(xpos, ypos, offset, str); |
1227 | drawmode ^= DRMODE_INVERSEVID; | 1228 | drawmode ^= DRMODE_INVERSEVID; |
1228 | lcd_remote_fillrect(xpos + w, ypos, LCD_REMOTE_WIDTH - (xpos + w), h); | 1229 | lcd_remote_fillrect(xpos + w - offset, ypos, |
1230 | LCD_REMOTE_WIDTH - (xpos + w - offset), h); | ||
1229 | drawmode = lastmode; | 1231 | drawmode = lastmode; |
1230 | } | 1232 | } |
1231 | 1233 | ||
diff --git a/firmware/drivers/lcd-h100.c b/firmware/drivers/lcd-h100.c index 8a06367112..85b8b0229e 100644 --- a/firmware/drivers/lcd-h100.c +++ b/firmware/drivers/lcd-h100.c | |||
@@ -1044,7 +1044,8 @@ static void lcd_putsxyofs(int x, int y, int ofs, const unsigned char *str) | |||
1044 | 1044 | ||
1045 | bits = font_get_bits(pf, ch); | 1045 | bits = font_get_bits(pf, ch); |
1046 | 1046 | ||
1047 | lcd_mono_bitmap_part(bits, ofs, 0, width, x, y, width - ofs, pf->height); | 1047 | lcd_mono_bitmap_part(bits, ofs, 0, width, x, y, width - ofs, |
1048 | pf->height); | ||
1048 | 1049 | ||
1049 | x += width - ofs; | 1050 | x += width - ofs; |
1050 | ofs = 0; | 1051 | ofs = 0; |
@@ -1096,7 +1097,7 @@ void lcd_puts_style_offset(int x, int y, const unsigned char *str, | |||
1096 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; | 1097 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; |
1097 | lcd_putsxyofs(xpos, ypos, offset, str); | 1098 | lcd_putsxyofs(xpos, ypos, offset, str); |
1098 | drawmode ^= DRMODE_INVERSEVID; | 1099 | drawmode ^= DRMODE_INVERSEVID; |
1099 | lcd_fillrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h); | 1100 | lcd_fillrect(xpos + w - offset, ypos, LCD_WIDTH - (xpos + w - offset), h); |
1100 | drawmode = lastmode; | 1101 | drawmode = lastmode; |
1101 | } | 1102 | } |
1102 | 1103 | ||
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c index 89b041dc3d..8914e272ec 100644 --- a/firmware/drivers/lcd-recorder.c +++ b/firmware/drivers/lcd-recorder.c | |||
@@ -897,7 +897,8 @@ static void lcd_putsxyofs(int x, int y, int ofs, const unsigned char *str) | |||
897 | 897 | ||
898 | bits = font_get_bits(pf, ch); | 898 | bits = font_get_bits(pf, ch); |
899 | 899 | ||
900 | lcd_mono_bitmap_part(bits, ofs, 0, width, x, y, width - ofs, pf->height); | 900 | lcd_mono_bitmap_part(bits, ofs, 0, width, x, y, width - ofs, |
901 | pf->height); | ||
901 | 902 | ||
902 | x += width - ofs; | 903 | x += width - ofs; |
903 | ofs = 0; | 904 | ofs = 0; |
@@ -948,7 +949,7 @@ void lcd_puts_style_offset(int x, int y, const unsigned char *str, | |||
948 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; | 949 | (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID; |
949 | lcd_putsxyofs(xpos, ypos, offset, str); | 950 | lcd_putsxyofs(xpos, ypos, offset, str); |
950 | drawmode ^= DRMODE_INVERSEVID; | 951 | drawmode ^= DRMODE_INVERSEVID; |
951 | lcd_fillrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h); | 952 | lcd_fillrect(xpos + w - offset, ypos, LCD_WIDTH - (xpos + w - offset), h); |
952 | drawmode = lastmode; | 953 | drawmode = lastmode; |
953 | } | 954 | } |
954 | 955 | ||