From c501ac7be23652f7a06c9d9211cb6ebeef4c377a Mon Sep 17 00:00:00 2001 From: Robert Hak Date: Thu, 30 May 2002 08:06:42 +0000 Subject: corrected the curson not being drawn for the recorder git-svn-id: svn://svn.rockbox.org/rockbox/trunk@814 a1c6a512-1295-4272-9138-f99709370657 --- apps/main_menu.c | 4 ++-- apps/menu.c | 21 ++++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'apps') diff --git a/apps/main_menu.c b/apps/main_menu.c index df9350ad5a..e53832a42c 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c @@ -76,9 +76,9 @@ static int show_logo(void) void show_splash(void) { lcd_clear_display(); - + if (show_logo() != 0) - return; + return; } void version(void) diff --git a/apps/menu.c b/apps/menu.c index e359f75799..a863925eca 100644 --- a/apps/menu.c +++ b/apps/menu.c @@ -55,6 +55,10 @@ static void menu_draw(int m) i++) { lcd_puts(1, i-menus[m].top, menus[m].items[i].desc); } + + /* place the cursor */ + lcd_puts(0, menus[m].cursor - menus[m].top, "-"); + lcd_update(); } @@ -64,18 +68,27 @@ static void menu_draw(int m) */ static void put_cursor(int m, int target) { - lcd_puts(0, menus[m].cursor - menus[m].top, " "); + bool do_update = true; + + lcd_puts(0, menus[m].cursor - menus[m].top, " "); + menus[m].cursor = target; if ( target < menus[m].top ) { menus[m].top--; menu_draw(m); + do_update = false; } else if ( target-menus[m].top > MENU_LINES-1 ) { menus[m].top++; menu_draw(m); + do_update = false; } - menus[m].cursor = target; - lcd_puts(0, menus[m].cursor - menus[m].top, "-"); + + if (do_update) { + lcd_puts(0, menus[m].cursor - menus[m].top, "-"); + lcd_update(); + } + } int menu_init(struct menu_items* mitems, int count) @@ -108,7 +121,6 @@ void menu_exit(int m) void menu_run(int m) { menu_draw(m); - lcd_puts(0, menus[m].cursor - menus[m].top, "-"); while(1) { switch( button_get(true) ) { @@ -145,7 +157,6 @@ void menu_run(int m) /* Return to previous display state */ menu_draw(m); - lcd_puts(0, menus[m].cursor - menus[m].top, "-"); break; #ifdef HAVE_RECORDER_KEYPAD -- cgit v1.2.3