summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorTeruaki Kawashima <teru@rockbox.org>2010-02-11 10:41:06 +0000
committerTeruaki Kawashima <teru@rockbox.org>2010-02-11 10:41:06 +0000
commit93f9e7cbfb3905791feccb4da68f6cc969d1e148 (patch)
treefb6e01220844fa1c0a9f92643ccaddb70fcb66b4 /apps/gui
parent0a291fff12c27ba6b46521ecaf126bdb4726c24e (diff)
downloadrockbox-93f9e7cbfb3905791feccb4da68f6cc969d1e148.tar.gz
rockbox-93f9e7cbfb3905791feccb4da68f6cc969d1e148.zip
fix text scrolling handling in do_menu, set_time_screen and time_screen.
Don't scroll text in time_screen(). the lines will be redrawn before scrolling statrs, so they don't scroll anyway. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24591 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/bitmap/list.c11
-rw-r--r--apps/gui/charcell/list.c10
-rw-r--r--apps/gui/color_picker.c2
-rw-r--r--apps/gui/list.h1
4 files changed, 23 insertions, 1 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c
index 7680c876aa..9e222c1973 100644
--- a/apps/gui/bitmap/list.c
+++ b/apps/gui/bitmap/list.c
@@ -51,6 +51,17 @@ int gui_list_get_item_offset(struct gui_synclist * gui_list, int item_width,
51 struct viewport *vp); 51 struct viewport *vp);
52bool list_display_title(struct gui_synclist *list, enum screen_type screen); 52bool list_display_title(struct gui_synclist *list, enum screen_type screen);
53 53
54void gui_synclist_scroll_stop(struct gui_synclist *lists)
55{
56 int i;
57 FOR_NB_SCREENS(i)
58 {
59 screens[i].scroll_stop(&list_text[i]);
60 screens[i].scroll_stop(&title_text[i]);
61 screens[i].scroll_stop(lists->parent[i]);
62 }
63}
64
54/* Draw the list... 65/* Draw the list...
55 internal screen layout: 66 internal screen layout:
56 ----------------- 67 -----------------
diff --git a/apps/gui/charcell/list.c b/apps/gui/charcell/list.c
index 2374156f0b..220144c356 100644
--- a/apps/gui/charcell/list.c
+++ b/apps/gui/charcell/list.c
@@ -39,6 +39,16 @@
39#include "sound.h" 39#include "sound.h"
40#include "misc.h" 40#include "misc.h"
41 41
42void gui_synclist_scroll_stop(struct gui_synclist *lists)
43{
44 int i;
45 (void)lists;
46 FOR_NB_SCREENS(i)
47 {
48 screens[i].stop_scroll();
49 }
50}
51
42void list_draw(struct screen *display, struct gui_synclist *gui_list) 52void list_draw(struct screen *display, struct gui_synclist *gui_list)
43{ 53{
44 int text_pos; 54 int text_pos;
diff --git a/apps/gui/color_picker.c b/apps/gui/color_picker.c
index 09d861245a..f8caf4d38f 100644
--- a/apps/gui/color_picker.c
+++ b/apps/gui/color_picker.c
@@ -165,7 +165,7 @@ static void draw_screen(struct screen *display, char *title,
165 viewport_set_defaults(&vp, display->screen_type); 165 viewport_set_defaults(&vp, display->screen_type);
166 display->set_viewport(&vp); 166 display->set_viewport(&vp);
167 167
168 display->clear_display(); 168 display->clear_viewport();
169 169
170 if (display->depth > 1) 170 if (display->depth > 1)
171 { 171 {
diff --git a/apps/gui/list.h b/apps/gui/list.h
index ef16c719c1..1d4a6bd5b4 100644
--- a/apps/gui/list.h
+++ b/apps/gui/list.h
@@ -160,6 +160,7 @@ extern int gui_synclist_get_nb_items(struct gui_synclist * lists);
160extern int gui_synclist_get_sel_pos(struct gui_synclist * lists); 160extern int gui_synclist_get_sel_pos(struct gui_synclist * lists);
161 161
162extern void gui_synclist_draw(struct gui_synclist * lists); 162extern void gui_synclist_draw(struct gui_synclist * lists);
163extern void gui_synclist_scroll_stop(struct gui_synclist *lists);
163extern void gui_synclist_select_item(struct gui_synclist * lists, 164extern void gui_synclist_select_item(struct gui_synclist * lists,
164 int item_number); 165 int item_number);
165extern void gui_synclist_add_item(struct gui_synclist * lists); 166extern void gui_synclist_add_item(struct gui_synclist * lists);