diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/screen_access.c | 27 | ||||
-rw-r--r-- | apps/screen_access.h | 9 | ||||
-rw-r--r-- | apps/settings_menu.c | 7 |
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 | |||
211 | void screen_lcd_scroll_speed(int speed) | ||
212 | { | ||
213 | int i; | ||
214 | FOR_NB_SCREENS(i) | ||
215 | screens[i].scroll_speed(speed); | ||
216 | } | ||
217 | |||
218 | void 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 | ||
226 | void 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 | */ |
186 | extern struct screen screens[NB_SCREENS]; | 186 | extern struct screen screens[NB_SCREENS]; |
187 | 187 | ||
188 | |||
189 | /* | ||
190 | * Functions to apply LCD settings across all screens | ||
191 | */ | ||
192 | void screen_lcd_scroll_speed(int speed); | ||
193 | void screen_lcd_scroll_delay(int ms); | ||
194 | void 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 | ||
843 | static bool scroll_delay(void) | 844 | static 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 | ||