summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/screen_access.c27
-rw-r--r--apps/screen_access.h9
-rw-r--r--apps/settings_menu.c7
3 files changed, 38 insertions, 5 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)
147 screen->drawline=&lcd_drawline; 147 screen->drawline=&lcd_drawline;
148 screen->vline=&lcd_vline; 148 screen->vline=&lcd_vline;
149 screen->hline=&lcd_hline; 149 screen->hline=&lcd_hline;
150 screen->scroll_speed=&lcd_scroll_speed;
151 screen->scroll_delay=&lcd_scroll_delay;
152 screen->scroll_step=&lcd_scroll_step; 150 screen->scroll_step=&lcd_scroll_step;
153 screen->invertscroll=&lcd_invertscroll; 151 screen->invertscroll=&lcd_invertscroll;
154 screen->puts_offset=&lcd_puts_offset; 152 screen->puts_offset=&lcd_puts_offset;
@@ -175,6 +173,8 @@ void screen_init(struct screen * screen, enum screen_type screen_type)
175 screen->init=&lcd_init; 173 screen->init=&lcd_init;
176 screen->puts_scroll=&lcd_puts_scroll; 174 screen->puts_scroll=&lcd_puts_scroll;
177 screen->stop_scroll=&lcd_stop_scroll; 175 screen->stop_scroll=&lcd_stop_scroll;
176 screen->scroll_speed=&lcd_scroll_speed;
177 screen->scroll_delay=&lcd_scroll_delay;
178 screen->clear_display=&lcd_clear_display; 178 screen->clear_display=&lcd_clear_display;
179#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) 179#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)
180 screen->update=&lcd_update; 180 screen->update=&lcd_update;
@@ -207,3 +207,26 @@ void screen_access_init(void)
207 FOR_NB_SCREENS(i) 207 FOR_NB_SCREENS(i)
208 screen_init(&screens[i], i); 208 screen_init(&screens[i], i);
209} 209}
210
211void screen_lcd_scroll_speed(int speed)
212{
213 int i;
214 FOR_NB_SCREENS(i)
215 screens[i].scroll_speed(speed);
216}
217
218void screen_lcd_scroll_delay(int ms)
219{
220 int i;
221 FOR_NB_SCREENS(i)
222 screens[i].scroll_delay(ms);
223}
224
225#ifdef HAVE_LCD_BITMAP
226void screen_lcd_scroll_step(int pixels)
227{
228 int i;
229 FOR_NB_SCREENS(i)
230 screens[i].scroll_step(pixels);
231}
232#endif
diff --git a/apps/screen_access.h b/apps/screen_access.h
index ae0a962015..c739c6cb1f 100644
--- a/apps/screen_access.h
+++ b/apps/screen_access.h
@@ -185,4 +185,13 @@ extern void screen_access_init(void);
185 */ 185 */
186extern struct screen screens[NB_SCREENS]; 186extern struct screen screens[NB_SCREENS];
187 187
188
189/*
190 * Functions to apply LCD settings across all screens
191 */
192void screen_lcd_scroll_speed(int speed);
193void screen_lcd_scroll_delay(int ms);
194void screen_lcd_scroll_step(int pixels);
195
196
188#endif /*_SCREEN_ACCESS_H_*/ 197#endif /*_SCREEN_ACCESS_H_*/
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index 14f1b57776..4d80ed8c73 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -55,6 +55,7 @@
55#include "yesno.h" 55#include "yesno.h"
56#include "list.h" 56#include "list.h"
57#include "color_picker.h" 57#include "color_picker.h"
58#include "screen_access.h"
58 59
59#ifdef HAVE_LCD_BITMAP 60#ifdef HAVE_LCD_BITMAP
60#include "peakmeter.h" 61#include "peakmeter.h"
@@ -837,7 +838,7 @@ static bool scroll_speed(void)
837{ 838{
838 return set_int(str(LANG_SCROLL), "", UNIT_INT, 839 return set_int(str(LANG_SCROLL), "", UNIT_INT,
839 &global_settings.scroll_speed, 840 &global_settings.scroll_speed,
840 &lcd_scroll_speed, 1, 0, 15, NULL ); 841 &screen_lcd_scroll_speed, 1, 0, 15, NULL );
841} 842}
842 843
843static bool scroll_delay(void) 844static bool scroll_delay(void)
@@ -845,7 +846,7 @@ static bool scroll_delay(void)
845 int dummy = global_settings.scroll_delay * (HZ/10); 846 int dummy = global_settings.scroll_delay * (HZ/10);
846 int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS, 847 int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS,
847 &dummy, 848 &dummy,
848 &lcd_scroll_delay, 100, 0, 2500, NULL ); 849 &screen_lcd_scroll_delay, 100, 0, 2500, NULL );
849 global_settings.scroll_delay = dummy / (HZ/10); 850 global_settings.scroll_delay = dummy / (HZ/10);
850 return rc; 851 return rc;
851} 852}
@@ -869,7 +870,7 @@ static bool scroll_step(void)
869{ 870{
870 return set_int(str(LANG_SCROLL_STEP_EXAMPLE), str(LANG_PIXELS), UNIT_PIXEL, 871 return set_int(str(LANG_SCROLL_STEP_EXAMPLE), str(LANG_PIXELS), UNIT_PIXEL,
871 &global_settings.scroll_step, 872 &global_settings.scroll_step,
872 &lcd_scroll_step, 1, 1, LCD_WIDTH, NULL ); 873 &screen_lcd_scroll_step, 1, 1, LCD_WIDTH, NULL );
873} 874}
874#endif 875#endif
875 876