diff options
author | Kjell Ericson <kjell@haxx.se> | 2003-01-29 11:48:35 +0000 |
---|---|---|
committer | Kjell Ericson <kjell@haxx.se> | 2003-01-29 11:48:35 +0000 |
commit | 9d40f7ebc4270fec50211da80f19d7ba1da6b841 (patch) | |
tree | ac5f8b0954cb313f18e6c9e12a3136b8891dbf4f | |
parent | fc69875d56a09f112f1746846e3a38fa207f5842 (diff) |
Player changes: Added lcd_remove_cursor() and updated the cursor functionality.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3182 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/drivers/lcd-player.c | 27 | ||||
-rw-r--r-- | firmware/drivers/lcd.h | 1 |
2 files changed, 20 insertions, 8 deletions
diff --git a/firmware/drivers/lcd-player.c b/firmware/drivers/lcd-player.c index a03b1b024c..bac18d28c8 100644 --- a/firmware/drivers/lcd-player.c +++ b/firmware/drivers/lcd-player.c @@ -315,14 +315,25 @@ void lcd_puts(int x, int y, unsigned char *string) void lcd_put_cursor(int x, int y, char cursor_char) { - cursor.text[0]=buffer_xlcd[x][y]; - cursor.text[1]=cursor_char; - cursor.len=2; - cursor.textpos=0; - cursor.y_pos=y; - cursor.x_pos=x; - cursor.downcount=0; - cursor.divider=4; + if (cursor.len==0) { + cursor.text[0]=buffer_xlcd[x][y]; + cursor.text[1]=cursor_char; + cursor.len=2; + cursor.textpos=0; + cursor.y_pos=y; + cursor.x_pos=x; + cursor.downcount=0; + cursor.divider=4; + } +} + +void lcd_remove_cursor(void) +{ + if (cursor.len!=0) { + cursor.len=0; + if (lcdx_putc(cursor.x_pos, cursor.y_pos, cursor.text[0])) + lcd_update(); + } } void lcd_putc(int x, int y, unsigned short ch) diff --git a/firmware/drivers/lcd.h b/firmware/drivers/lcd.h index b4623c2ae7..6149dc38d7 100644 --- a/firmware/drivers/lcd.h +++ b/firmware/drivers/lcd.h @@ -86,6 +86,7 @@ void lcd_unlock_pattern(unsigned char pat); void lcd_allow_bidirectional_scrolling(bool on); extern void lcd_bidir_scroll(int threshold); void lcd_put_cursor(int x, int y, char cursor_char); +void lcd_remove_cursor(void); #endif #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) |