summaryrefslogtreecommitdiff
path: root/apps/gui/list.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2008-07-05 12:31:04 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2008-07-05 12:31:04 +0000
commit311d048f6f265f8a2d5dcd4050c0da32bfa05f68 (patch)
tree76324f83fd5d07d8dde7ca2e3106e6d10d64375c /apps/gui/list.c
parent2a75a9045c478fc55dad013d74de8c2f144d3046 (diff)
downloadrockbox-311d048f6f265f8a2d5dcd4050c0da32bfa05f68.tar.gz
rockbox-311d048f6f265f8a2d5dcd4050c0da32bfa05f68.zip
fix FS#9144 hopefully for good... only update the screen if the time line is selected, or if talking menus are disabled, only update if the time line is actually on the screen. Also only update every 5s so scrolling lines still scroll. (turns out scroll_all was broken! fixed now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17944 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/list.c')
-rw-r--r--apps/gui/list.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c
index 96652ce0a9..ee50ccf63e 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -786,6 +786,17 @@ bool list_do_action(int context, int timeout,
786 return gui_synclist_do_button(lists, action, wrap); 786 return gui_synclist_do_button(lists, action, wrap);
787} 787}
788 788
789bool gui_synclist_item_is_onscreen(struct gui_synclist *lists,
790 enum screen_type screen, int item)
791{
792 struct viewport vp = *lists->parent[screen];
793#ifdef HAVE_LCD_BITMAP
794 if (list_display_title(lists, lists->parent[screen]))
795 vp.height -= list_title_height(lists, lists->parent[screen]);
796#endif
797 return item <= (lists->start_item[screen] + viewport_get_nb_lines(&vp));
798}
799
789/* Simple use list implementation */ 800/* Simple use list implementation */
790static int simplelist_line_count = 0; 801static int simplelist_line_count = 0;
791static char simplelist_text[SIMPLELIST_MAX_LINES][SIMPLELIST_MAX_LINELENGTH]; 802static char simplelist_text[SIMPLELIST_MAX_LINES][SIMPLELIST_MAX_LINELENGTH];