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.zip rockbox-93f9e7cbfb3905791feccb4da68f6cc969d1e148.tar.gz rockbox-93f9e7cbfb3905791feccb4da68f6cc969d1e148.tar.bz2 rockbox-93f9e7cbfb3905791feccb4da68f6cc969d1e148.tar.xz | |
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 7680c87..9e222c1 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, struct viewport *vp); bool list_display_title(struct gui_synclist *list, enum screen_type screen); +void gui_synclist_scroll_stop(struct gui_synclist *lists) +{ + int i; + FOR_NB_SCREENS(i) + { + screens[i].scroll_stop(&list_text[i]); + screens[i].scroll_stop(&title_text[i]); + screens[i].scroll_stop(lists->parent[i]); + } +} + /* Draw the list... internal screen layout: ----------------- diff --git a/apps/gui/charcell/list.c b/apps/gui/charcell/list.c index 2374156..220144c 100644 --- a/apps/gui/charcell/list.c +++ b/apps/gui/charcell/list.c @@ -39,6 +39,16 @@ #include "sound.h" #include "misc.h" +void gui_synclist_scroll_stop(struct gui_synclist *lists) +{ + int i; + (void)lists; + FOR_NB_SCREENS(i) + { + screens[i].stop_scroll(); + } +} + void list_draw(struct screen *display, struct gui_synclist *gui_list) { int text_pos; diff --git a/apps/gui/color_picker.c b/apps/gui/color_picker.c index 09d8612..f8caf4d 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, viewport_set_defaults(&vp, display->screen_type); display->set_viewport(&vp); - display->clear_display(); + display->clear_viewport(); if (display->depth > 1) { diff --git a/apps/gui/list.h b/apps/gui/list.h index ef16c71..1d4a6bd 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); extern int gui_synclist_get_sel_pos(struct gui_synclist * lists); extern void gui_synclist_draw(struct gui_synclist * lists); +extern void gui_synclist_scroll_stop(struct gui_synclist *lists); extern void gui_synclist_select_item(struct gui_synclist * lists, int item_number); extern void gui_synclist_add_item(struct gui_synclist * lists); |