diff options
author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-09-27 15:42:55 +0000 |
---|---|---|
committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-09-27 15:42:55 +0000 |
commit | f3b015f73b29f2d3514c32a9b8b8f0338b52e358 (patch) | |
tree | 65e1694745947a9a7d673811d12155f3b2a03019 /apps/menus | |
parent | 5353473b723749a7cd92d72e94423b74058287dc (diff) | |
download | rockbox-f3b015f73b29f2d3514c32a9b8b8f0338b52e358.tar.gz rockbox-f3b015f73b29f2d3514c32a9b8b8f0338b52e358.zip |
FS#7808 by Tom Ross, Ken Fazzone and me, with help from Antoine Cellerier.
Add two new line selector types: solid colour and gradient. Solid colour only uses the primary colour setting.
The secondary colour setting is used for the gradient. Text colour for the selected item is also changeable.
These new settings are a bit controversial so they may be removed later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14868 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menus')
-rw-r--r-- | apps/menus/display_menu.c | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c index c1e574a974..11d1f25e7f 100644 --- a/apps/menus/display_menu.c +++ b/apps/menus/display_menu.c | |||
@@ -115,7 +115,7 @@ MENUITEM_SETTING(invert, &global_settings.invert, NULL); | |||
115 | #ifdef HAVE_LCD_FLIP | 115 | #ifdef HAVE_LCD_FLIP |
116 | MENUITEM_SETTING(flip_display, &global_settings.flip_display, flipdisplay_callback); | 116 | MENUITEM_SETTING(flip_display, &global_settings.flip_display, flipdisplay_callback); |
117 | #endif | 117 | #endif |
118 | MENUITEM_SETTING(invert_cursor, &global_settings.invert_cursor, NULL); | 118 | MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, NULL); |
119 | #endif /* HAVE_LCD_BITMAP */ | 119 | #endif /* HAVE_LCD_BITMAP */ |
120 | #if LCD_DEPTH > 1 | 120 | #if LCD_DEPTH > 1 |
121 | /** | 121 | /** |
@@ -157,13 +157,55 @@ static int set_bg_color(void) | |||
157 | settings_save(); | 157 | settings_save(); |
158 | return res; | 158 | return res; |
159 | } | 159 | } |
160 | |||
161 | /* Line selector colour */ | ||
162 | static int set_lss_color(void) | ||
163 | { | ||
164 | int res; | ||
165 | res = (int)set_color(&screens[SCREEN_MAIN],str(LANG_SELECTOR_START_COLOR), | ||
166 | &global_settings.lss_color,-1); | ||
167 | |||
168 | screens[SCREEN_MAIN].set_selector_start(global_settings.lss_color); | ||
169 | settings_save(); | ||
170 | return res; | ||
171 | } | ||
172 | |||
173 | static int set_lse_color(void) | ||
174 | { | ||
175 | int res; | ||
176 | res = (int)set_color(&screens[SCREEN_MAIN],str(LANG_SELECTOR_END_COLOR), | ||
177 | &global_settings.lse_color,-1); | ||
178 | |||
179 | screens[SCREEN_MAIN].set_selector_end(global_settings.lse_color); | ||
180 | settings_save(); | ||
181 | return res; | ||
182 | } | ||
183 | |||
184 | /* Line selector text colour */ | ||
185 | static int set_lst_color(void) | ||
186 | { | ||
187 | int res; | ||
188 | res = (int)set_color(&screens[SCREEN_MAIN],str(LANG_SELECTOR_TEXT_COLOR), | ||
189 | &global_settings.lst_color,global_settings.lss_color); | ||
190 | |||
191 | screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color); | ||
192 | settings_save(); | ||
193 | return res; | ||
194 | } | ||
195 | |||
160 | static int reset_color(void) | 196 | static int reset_color(void) |
161 | { | 197 | { |
162 | global_settings.fg_color = LCD_DEFAULT_FG; | 198 | global_settings.fg_color = LCD_DEFAULT_FG; |
163 | global_settings.bg_color = LCD_DEFAULT_BG; | 199 | global_settings.bg_color = LCD_DEFAULT_BG; |
200 | global_settings.lss_color = LCD_DEFAULT_LS; | ||
201 | global_settings.lse_color = LCD_DEFAULT_BG; | ||
202 | global_settings.lst_color = LCD_DEFAULT_FG; | ||
164 | 203 | ||
165 | screens[SCREEN_MAIN].set_foreground(global_settings.fg_color); | 204 | screens[SCREEN_MAIN].set_foreground(global_settings.fg_color); |
166 | screens[SCREEN_MAIN].set_background(global_settings.bg_color); | 205 | screens[SCREEN_MAIN].set_background(global_settings.bg_color); |
206 | screens[SCREEN_MAIN].set_selector_start(global_settings.lss_color); | ||
207 | screens[SCREEN_MAIN].set_selector_end(global_settings.lse_color); | ||
208 | screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color); | ||
167 | settings_save(); | 209 | settings_save(); |
168 | return 0; | 210 | return 0; |
169 | } | 211 | } |
@@ -171,6 +213,12 @@ MENUITEM_FUNCTION(set_bg_col, 0, ID2P(LANG_BACKGROUND_COLOR), | |||
171 | set_bg_color, NULL, NULL, Icon_NOICON); | 213 | set_bg_color, NULL, NULL, Icon_NOICON); |
172 | MENUITEM_FUNCTION(set_fg_col, 0, ID2P(LANG_FOREGROUND_COLOR), | 214 | MENUITEM_FUNCTION(set_fg_col, 0, ID2P(LANG_FOREGROUND_COLOR), |
173 | set_fg_color, NULL, NULL, Icon_NOICON); | 215 | set_fg_color, NULL, NULL, Icon_NOICON); |
216 | MENUITEM_FUNCTION(set_lss_col, 0, ID2P(LANG_SELECTOR_START_COLOR), | ||
217 | set_lss_color, NULL, NULL, Icon_NOICON); | ||
218 | MENUITEM_FUNCTION(set_lse_col, 0, ID2P(LANG_SELECTOR_END_COLOR), | ||
219 | set_lse_color, NULL, NULL, Icon_NOICON); | ||
220 | MENUITEM_FUNCTION(set_lst_col, 0, ID2P(LANG_SELECTOR_TEXT_COLOR), | ||
221 | set_lst_color, NULL, NULL, Icon_NOICON); | ||
174 | MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS), | 222 | MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS), |
175 | reset_color, NULL, NULL, Icon_NOICON); | 223 | reset_color, NULL, NULL, Icon_NOICON); |
176 | #endif | 224 | #endif |
@@ -208,8 +256,11 @@ MAKE_MENU(lcd_settings,ID2P(LANG_LCD_MENU), | |||
208 | # ifdef HAVE_LCD_FLIP | 256 | # ifdef HAVE_LCD_FLIP |
209 | ,&flip_display | 257 | ,&flip_display |
210 | # endif | 258 | # endif |
211 | ,&invert_cursor | 259 | ,&cursor_style |
212 | #endif /* HAVE_LCD_BITMAP */ | 260 | #endif /* HAVE_LCD_BITMAP */ |
261 | #ifdef HAVE_LCD_COLOR | ||
262 | ,&set_lss_col, &set_lse_col, &set_lst_col | ||
263 | #endif | ||
213 | #if LCD_DEPTH > 1 | 264 | #if LCD_DEPTH > 1 |
214 | ,&clear_main_bd, | 265 | ,&clear_main_bd, |
215 | #endif | 266 | #endif |