summaryrefslogtreecommitdiff
path: root/apps/menus
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2007-09-27 15:42:55 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2007-09-27 15:42:55 +0000
commitf3b015f73b29f2d3514c32a9b8b8f0338b52e358 (patch)
tree65e1694745947a9a7d673811d12155f3b2a03019 /apps/menus
parent5353473b723749a7cd92d72e94423b74058287dc (diff)
downloadrockbox-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.c55
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
116MENUITEM_SETTING(flip_display, &global_settings.flip_display, flipdisplay_callback); 116MENUITEM_SETTING(flip_display, &global_settings.flip_display, flipdisplay_callback);
117#endif 117#endif
118MENUITEM_SETTING(invert_cursor, &global_settings.invert_cursor, NULL); 118MENUITEM_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 */
162static 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
173static 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 */
185static 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
160static int reset_color(void) 196static 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);
172MENUITEM_FUNCTION(set_fg_col, 0, ID2P(LANG_FOREGROUND_COLOR), 214MENUITEM_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);
216MENUITEM_FUNCTION(set_lss_col, 0, ID2P(LANG_SELECTOR_START_COLOR),
217 set_lss_color, NULL, NULL, Icon_NOICON);
218MENUITEM_FUNCTION(set_lse_col, 0, ID2P(LANG_SELECTOR_END_COLOR),
219 set_lse_color, NULL, NULL, Icon_NOICON);
220MENUITEM_FUNCTION(set_lst_col, 0, ID2P(LANG_SELECTOR_TEXT_COLOR),
221 set_lst_color, NULL, NULL, Icon_NOICON);
174MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS), 222MENUITEM_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