summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/lcd.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 03f667acfa..0fa077c7ba 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -797,7 +797,6 @@ extern unsigned char char_dw_8x8_prop[][9];
797int lcd_getstringsize(unsigned char *str, unsigned int font, int *w, int *h) 797int lcd_getstringsize(unsigned char *str, unsigned int font, int *w, int *h)
798{ 798{
799 int width=0; 799 int width=0;
800 int height=0;
801 unsigned char ch, byte; 800 unsigned char ch, byte;
802 (void)font; 801 (void)font;
803 802
@@ -811,12 +810,9 @@ int lcd_getstringsize(unsigned char *str, unsigned int font, int *w, int *h)
811 810
812 byte = char_dw_8x8_prop[ch][8]; 811 byte = char_dw_8x8_prop[ch][8];
813 width += (byte>>4) + 1; 812 width += (byte>>4) + 1;
814 if((byte & 0x0f) > height)
815 height = byte & 0x0f;
816
817 } 813 }
818 *w = width; 814 *w = width;
819 *h = height; 815 *h = 8;
820 816
821 return width; 817 return width;
822} 818}
@@ -851,7 +847,7 @@ void lcd_putspropxy(int x, int y, unsigned char *str, int thisfont)
851 break; 847 break;
852 848
853 src = char_dw_8x8_prop[ch]; 849 src = char_dw_8x8_prop[ch];
854 lcd_clearrect (lcd_x+nx, lcd_y, 1, ny); 850 lcd_clearrect (lcd_x+nx, lcd_y, 1, ny );
855 lcd_bitmap (src, lcd_x, lcd_y, nx, ny, true); 851 lcd_bitmap (src, lcd_x, lcd_y, nx, ny, true);
856 852
857 lcd_x += nx+1; 853 lcd_x += nx+1;
@@ -928,7 +924,7 @@ void lcd_putsxy(int x, int y, unsigned char *str, int thisfont)
928 } 924 }
929#endif 925#endif
930 926
931 while (((ch = *str++) != '\0') && (lcd_x + nx < LCD_WIDTH)) 927 while (((ch = *str++) != '\0') && (lcd_x + nx <= LCD_WIDTH))
932 { 928 {
933 if (lcd_y + ny > LCD_HEIGHT) 929 if (lcd_y + ny > LCD_HEIGHT)
934 return; 930 return;