summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-player.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/lcd-player.c')
-rw-r--r--firmware/drivers/lcd-player.c27
1 files changed, 19 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)
315 315
316void lcd_put_cursor(int x, int y, char cursor_char) 316void lcd_put_cursor(int x, int y, char cursor_char)
317{ 317{
318 cursor.text[0]=buffer_xlcd[x][y]; 318 if (cursor.len==0) {
319 cursor.text[1]=cursor_char; 319 cursor.text[0]=buffer_xlcd[x][y];
320 cursor.len=2; 320 cursor.text[1]=cursor_char;
321 cursor.textpos=0; 321 cursor.len=2;
322 cursor.y_pos=y; 322 cursor.textpos=0;
323 cursor.x_pos=x; 323 cursor.y_pos=y;
324 cursor.downcount=0; 324 cursor.x_pos=x;
325 cursor.divider=4; 325 cursor.downcount=0;
326 cursor.divider=4;
327 }
328}
329
330void lcd_remove_cursor(void)
331{
332 if (cursor.len!=0) {
333 cursor.len=0;
334 if (lcdx_putc(cursor.x_pos, cursor.y_pos, cursor.text[0]))
335 lcd_update();
336 }
326} 337}
327 338
328void lcd_putc(int x, int y, unsigned short ch) 339void lcd_putc(int x, int y, unsigned short ch)