summaryrefslogtreecommitdiffstats
path: root/apps/screen_access.c
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2006-05-20 11:34:35 +0000
committerDave Chapman <dave@dchapman.com>2006-05-20 11:34:35 +0000
commit1c9dacd60040b725b95ccf2cd62db3f62b2a8865 (patch)
tree836c0268ac1b21952a3f194ac116b70dccb68438 /apps/screen_access.c
parentd49b112fd8b903b045f6a723e7065460448cb123 (diff)
downloadrockbox-1c9dacd60040b725b95ccf2cd62db3f62b2a8865.tar.gz
rockbox-1c9dacd60040b725b95ccf2cd62db3f62b2a8865.tar.bz2
rockbox-1c9dacd60040b725b95ccf2cd62db3f62b2a8865.zip
Apply changes to scroll_delay, scroll_speed and scroll_step settings across all screens when changing them in the settings menu. Fixes bug #5348.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9965 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/screen_access.c')
-rw-r--r--apps/screen_access.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/apps/screen_access.c b/apps/screen_access.c
index a5dc4ae553..1dc8734462 100644
--- a/apps/screen_access.c
+++ b/apps/screen_access.c
@@ -147,8 +147,6 @@ void screen_init(struct screen * screen, enum screen_type screen_type)
screen->drawline=&lcd_drawline;
screen->vline=&lcd_vline;
screen->hline=&lcd_hline;
- screen->scroll_speed=&lcd_scroll_speed;
- screen->scroll_delay=&lcd_scroll_delay;
screen->scroll_step=&lcd_scroll_step;
screen->invertscroll=&lcd_invertscroll;
screen->puts_offset=&lcd_puts_offset;
@@ -175,6 +173,8 @@ void screen_init(struct screen * screen, enum screen_type screen_type)
screen->init=&lcd_init;
screen->puts_scroll=&lcd_puts_scroll;
screen->stop_scroll=&lcd_stop_scroll;
+ screen->scroll_speed=&lcd_scroll_speed;
+ screen->scroll_delay=&lcd_scroll_delay;
screen->clear_display=&lcd_clear_display;
#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)
screen->update=&lcd_update;
@@ -207,3 +207,26 @@ void screen_access_init(void)
FOR_NB_SCREENS(i)
screen_init(&screens[i], i);
}
+
+void screen_lcd_scroll_speed(int speed)
+{
+ int i;
+ FOR_NB_SCREENS(i)
+ screens[i].scroll_speed(speed);
+}
+
+void screen_lcd_scroll_delay(int ms)
+{
+ int i;
+ FOR_NB_SCREENS(i)
+ screens[i].scroll_delay(ms);
+}
+
+#ifdef HAVE_LCD_BITMAP
+void screen_lcd_scroll_step(int pixels)
+{
+ int i;
+ FOR_NB_SCREENS(i)
+ screens[i].scroll_step(pixels);
+}
+#endif