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.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.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 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);