summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-08-09 17:39:39 +0000
committerThomas Martitz <kugel@rockbox.org>2009-08-09 17:39:39 +0000
commit9f3fc27be4a2483815dacfa3f532ea8d35df650f (patch)
tree10b28f80936509dc3c7cf2a17bdc2df11c00a88f /apps
parentdc4e90341ccf97d1451f46fa1bd4acde5e950298 (diff)
downloadrockbox-9f3fc27be4a2483815dacfa3f532ea8d35df650f.tar.gz
rockbox-9f3fc27be4a2483815dacfa3f532ea8d35df650f.zip
Fix player and greyscale reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22224 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/viewport.c38
-rw-r--r--apps/gui/viewport.h2
2 files changed, 27 insertions, 13 deletions
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 52704d9f69..fbbd4eab5a 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -37,12 +37,24 @@
37 37
38 38
39 39
40#ifdef HAVE_LCD_COLOR
40#define LINE_SEL_FROM_SETTINGS(vp) \ 41#define LINE_SEL_FROM_SETTINGS(vp) \
41 do { \ 42 do { \
42 vp->lss_pattern = global_settings.lss_color; \ 43 vp->lss_pattern = global_settings.lss_color; \
43 vp->lse_pattern = global_settings.lse_color; \ 44 vp->lse_pattern = global_settings.lse_color; \
44 vp->lst_pattern = global_settings.lst_color; \ 45 vp->lst_pattern = global_settings.lst_color; \
45 } while (0) 46 } while (0)
47#else
48#define LINE_SEL_FROM_SETTINGS(vp)
49#endif
50
51#ifdef HAVE_LCD_COLOR
52#define FG_FALLBACK global_settings.fg_color
53#define BG_FALLBACK global_settings.bg_color
54#else
55#define FG_FALLBACK LCD_DEFAULT_FG
56#define BG_FALLBACK LCD_DEFAULT_FG
57#endif
46 58
47static int statusbar_enabled = 0; 59static int statusbar_enabled = 0;
48 60
@@ -89,20 +101,17 @@ void viewport_set_defaults(struct viewport *vp, enum screen_type screen)
89#endif 101#endif
90 vp->height = screens[screen].lcdheight - (showing_bars(screen)?STATUSBAR_HEIGHT:0); 102 vp->height = screens[screen].lcdheight - (showing_bars(screen)?STATUSBAR_HEIGHT:0);
91 103
104#if LCD_DEPTH > 1
92#ifdef HAVE_REMOTE_LCD 105#ifdef HAVE_REMOTE_LCD
93 /* We only need this test if there is a remote LCD */ 106 /* We only need this test if there is a remote LCD */
94 if (screen == SCREEN_MAIN) 107 if (screen == SCREEN_MAIN)
95#endif 108#endif
96 { 109 {
97#ifdef HAVE_LCD_COLOR 110 vp->fg_pattern = FG_FALLBACK;
98 vp->fg_pattern = global_settings.fg_color; 111 vp->bg_pattern = BG_FALLBACK;
99 vp->bg_pattern = global_settings.bg_color;
100 LINE_SEL_FROM_SETTINGS(vp); 112 LINE_SEL_FROM_SETTINGS(vp);
101#elif LCD_DEPTH > 1
102 vp->fg_pattern = LCD_DEFAULT_FG;
103 vp->bg_pattern = LCD_DEFAULT_BG;
104#endif
105 } 113 }
114#endif
106 115
107#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 116#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
108 if (screen == SCREEN_REMOTE) 117 if (screen == SCREEN_REMOTE)
@@ -159,6 +168,7 @@ void viewportmanager_statusbar_changed(void* data)
159 viewportmanager_set_statusbar(statusbar_enabled); 168 viewportmanager_set_statusbar(statusbar_enabled);
160} 169}
161 170
171#ifdef HAVE_LCD_BITMAP
162const char* viewport_parse_viewport(struct viewport *vp, 172const char* viewport_parse_viewport(struct viewport *vp,
163 enum screen_type screen, 173 enum screen_type screen,
164 const char *bufptr, 174 const char *bufptr,
@@ -219,15 +229,15 @@ const char* viewport_parse_viewport(struct viewport *vp,
219 if (!LIST_VALUE_PARSED(set, PL_HEIGHT)) 229 if (!LIST_VALUE_PARSED(set, PL_HEIGHT))
220 vp->height = screens[screen].lcdheight - vp->y; 230 vp->height = screens[screen].lcdheight - vp->y;
221 231
222#if (LCD_DEPTH > 1) 232#if LCD_DEPTH > 1 || LCD_REMOTE_DEPTH > 1
223 if (!LIST_VALUE_PARSED(set, PL_FG)) 233 if (!LIST_VALUE_PARSED(set, PL_FG))
224 vp->fg_pattern = global_settings.fg_color; 234 vp->fg_pattern = FG_FALLBACK;
225 if (!LIST_VALUE_PARSED(set, PL_BG)) 235 if (!LIST_VALUE_PARSED(set, PL_BG))
226 vp->bg_pattern = global_settings.bg_color; 236 vp->bg_pattern = BG_FALLBACK;
227#endif 237#endif /* LCD_DEPTH > 1 || LCD_REMOTE_DEPTH > 1 */
228#ifdef HAVE_LCD_COLOR 238
229 LINE_SEL_FROM_SETTINGS(vp); 239 LINE_SEL_FROM_SETTINGS(vp);
230#endif 240
231 /* Validate the viewport dimensions - we know that the numbers are 241 /* Validate the viewport dimensions - we know that the numbers are
232 non-negative integers, ignore bars and assume the viewport takes them 242 non-negative integers, ignore bars and assume the viewport takes them
233 * into account */ 243 * into account */
@@ -249,3 +259,5 @@ const char* viewport_parse_viewport(struct viewport *vp,
249 259
250 return ptr; 260 return ptr;
251} 261}
262
263#endif /* HAVE_LCD_BITMAP */
diff --git a/apps/gui/viewport.h b/apps/gui/viewport.h
index 65a9815bcd..f703c97342 100644
--- a/apps/gui/viewport.h
+++ b/apps/gui/viewport.h
@@ -41,10 +41,12 @@ void viewport_set_defaults(struct viewport *vp, enum screen_type screen);
41/* parse a viewport list, which looks like 41/* parse a viewport list, which looks like
42 * X|Y|width|height|font|foregorund color|background color 42 * X|Y|width|height|font|foregorund color|background color
43 * | is a separator */ 43 * | is a separator */
44#ifdef HAVE_LCD_BITMAP
44const char* viewport_parse_viewport(struct viewport *vp, 45const char* viewport_parse_viewport(struct viewport *vp,
45 enum screen_type screen, 46 enum screen_type screen,
46 const char *bufptr, 47 const char *bufptr,
47 const char separator); 48 const char separator);
49#endif
48/* Used to specify which screens the statusbar (SB) should be displayed on. 50/* Used to specify which screens the statusbar (SB) should be displayed on.
49 * 51 *
50 * The parameter is a bit OR'ed combination of the following (screen is 52 * The parameter is a bit OR'ed combination of the following (screen is