diff options
author | Teruaki Kawashima <teru@rockbox.org> | 2010-02-11 10:41:06 +0000 |
---|---|---|
committer | Teruaki Kawashima <teru@rockbox.org> | 2010-02-11 10:41:06 +0000 |
commit | 93f9e7cbfb3905791feccb4da68f6cc969d1e148 (patch) | |
tree | fb6e01220844fa1c0a9f92643ccaddb70fcb66b4 /apps/gui | |
parent | 0a291fff12c27ba6b46521ecaf126bdb4726c24e (diff) | |
download | rockbox-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.c | 11 | ||||
-rw-r--r-- | apps/gui/charcell/list.c | 10 | ||||
-rw-r--r-- | apps/gui/color_picker.c | 2 | ||||
-rw-r--r-- | apps/gui/list.h | 1 |
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); |
52 | bool list_display_title(struct gui_synclist *list, enum screen_type screen); | 52 | bool list_display_title(struct gui_synclist *list, enum screen_type screen); |
53 | 53 | ||
54 | void 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 | ||
42 | void 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 | |||
42 | void list_draw(struct screen *display, struct gui_synclist *gui_list) | 52 | void 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); | |||
160 | extern int gui_synclist_get_sel_pos(struct gui_synclist * lists); | 160 | extern int gui_synclist_get_sel_pos(struct gui_synclist * lists); |
161 | 161 | ||
162 | extern void gui_synclist_draw(struct gui_synclist * lists); | 162 | extern void gui_synclist_draw(struct gui_synclist * lists); |
163 | extern void gui_synclist_scroll_stop(struct gui_synclist *lists); | ||
163 | extern void gui_synclist_select_item(struct gui_synclist * lists, | 164 | extern void gui_synclist_select_item(struct gui_synclist * lists, |
164 | int item_number); | 165 | int item_number); |
165 | extern void gui_synclist_add_item(struct gui_synclist * lists); | 166 | extern void gui_synclist_add_item(struct gui_synclist * lists); |