summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-08-19 12:03:02 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-08-19 12:03:02 +0000
commit9315282b1ecca17f3eb9c705db144820048c58f4 (patch)
tree1c3f75813a6e266d146f7846aad8dc6bc109a103 /firmware
parent111597ba0266434f38dad0096823fb07da031df5 (diff)
downloadrockbox-9315282b1ecca17f3eb9c705db144820048c58f4.tar.gz
rockbox-9315282b1ecca17f3eb9c705db144820048c58f4.zip
Fall back to fixed font if loadable font is not present
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1801 a1c6a512-1295-4272-9138-f99709370657
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)