summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/lcd.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 1c2ecb22a3..2d095f2a5f 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -879,17 +879,14 @@ void lcd_puts(int x, int y, unsigned char *str)
879} 879}
880 880
881 881
882/*
883 * Put a string at specified bit position
884 */
882void lcd_putsxy(int x, int y, unsigned char *str, int thisfont) 885void lcd_putsxy(int x, int y, unsigned char *str, int thisfont)
883{ 886{
884#ifdef LOADABLE_FONTS 887#ifdef LCD_PROPFONTS
885 lcd_putsldfxy(x,y,str);
886 (void)thisfont;
887#elif LCD_PROPFONTS
888 lcd_putspropxy(x,y,str,thisfont); 888 lcd_putspropxy(x,y,str,thisfont);
889#else 889#else
890/*
891 * Put a string at specified bit position
892 */
893 890
894 int nx = fonts[thisfont]; 891 int nx = fonts[thisfont];
895 int ny = fontheight[thisfont]; 892 int ny = fontheight[thisfont];
@@ -898,6 +895,13 @@ void lcd_putsxy(int x, int y, unsigned char *str, int thisfont)
898 int lcd_x = x; 895 int lcd_x = x;
899 int lcd_y = y; 896 int lcd_y = y;
900 897
898#ifdef LOADABLE_FONTS
899 if ( _font ) {
900 lcd_putsldfxy(x,y,str);
901 return;
902 }
903#endif
904
901 while (((ch = *str++) != '\0') && (lcd_x + nx < LCD_WIDTH)) 905 while (((ch = *str++) != '\0') && (lcd_x + nx < LCD_WIDTH))
902 { 906 {
903 if (lcd_y + ny > LCD_HEIGHT) 907 if (lcd_y + ny > LCD_HEIGHT)