summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-02-08 09:38:03 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-02-08 09:38:03 +0000
commit7e6f124d4e155c4a9672c9797a324305f047466a (patch)
treeeebabf83ca85e88e183500a465d3901e4e3f25c0
parent499a0e6bed2b9e56df8b008957a549761d054dca (diff)
downloadrockbox-7e6f124d4e155c4a9672c9797a324305f047466a.tar.gz
rockbox-7e6f124d4e155c4a9672c9797a324305f047466a.zip
revert r24478 and make the backdrop behaviour the same as it used to be (so when in the wps the sbs' backdrop will be fully disabled). Also changes the API back to having to manually set the current backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24565 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/skin_engine/skin_display.c5
-rw-r--r--apps/gui/viewport.c3
-rw-r--r--apps/gui/wps.c4
-rw-r--r--apps/settings.c3
-rw-r--r--firmware/drivers/lcd-bitmap-common.c18
-rw-r--r--firmware/export/scroll_engine.h3
6 files changed, 8 insertions, 28 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c
index 9ec4a9edb8..8637190bad 100644
--- a/apps/gui/skin_engine/skin_display.c
+++ b/apps/gui/skin_engine/skin_display.c
@@ -1006,11 +1006,6 @@ static bool skin_redraw(struct gui_wps *gwps, unsigned refresh_mode)
#endif
-#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1)
- display->backdrop_show(data->backdrop);
-#endif
-
-
/* reset to first subline if refresh all flag is set */
if (refresh_mode == WPS_REFRESH_ALL)
{
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 78b6379bd7..4b89608458 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -111,9 +111,6 @@ static void toggle_theme(enum screen_type screen, bool force)
{
/* remove the left overs from the previous screen.
* could cause a tiny flicker. Redo your screen code if that happens */
-#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1)
- screens[screen].backdrop_show(sb_get_backdrop(screen));
-#endif
if (!was_enabled[screen] || force)
{
struct viewport deadspace, user;
diff --git a/apps/gui/wps.c b/apps/gui/wps.c
index ca74c452f4..f461c02f77 100644
--- a/apps/gui/wps.c
+++ b/apps/gui/wps.c
@@ -565,6 +565,7 @@ static void gwps_leave_wps(void)
FOR_NB_SCREENS(i)
{
gui_wps[i].display->stop_scroll();
+ gui_wps[i].display->backdrop_show(sb_get_backdrop(i));
#ifdef HAVE_LCD_BITMAP
bool draw = false;
@@ -601,9 +602,10 @@ static void gwps_enter_wps(void)
else if (statusbar_position(i) != STATUSBAR_OFF)
draw = true;
#endif
+ display->stop_scroll();
+ display->backdrop_show(gwps->data->backdrop);
viewportmanager_theme_enable(i, draw, NULL);
- display->stop_scroll();
/* Update the values in the first (default) viewport - in case the user
has modified the statusbar or colour settings */
#if LCD_DEPTH > 1
diff --git a/apps/settings.c b/apps/settings.c
index 1b16e9fe8e..c4ebabcbac 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -737,6 +737,7 @@ void sound_settings_apply(void)
void settings_apply_skins(void)
{
char buf[MAX_PATH];
+ int i;
/* re-initialize the skin buffer before we start reloading skins */
skin_buffer_init();
#ifdef HAVE_LCD_BITMAP
@@ -786,6 +787,8 @@ void settings_apply_skins(void)
}
#endif
viewportmanager_theme_changed(THEME_STATUSBAR);
+ FOR_NB_SCREENS(i)
+ screens[i].backdrop_show(sb_get_backdrop(i));
}
void settings_apply(bool read_disk)
diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c
index 24c5aa15cb..586c74578f 100644
--- a/firmware/drivers/lcd-bitmap-common.c
+++ b/firmware/drivers/lcd-bitmap-common.c
@@ -39,9 +39,6 @@
#define MAIN_LCD
#endif
-#define HAS_BACKDROP ((defined(MAIN_LCD) && LCD_DEPTH > 1) \
- || (!defined(MAIN_LCD) && LCD_REMOTE_DEPTH > 1))
-
#if defined(MAIN_LCD) && defined(HAVE_LCD_COLOR)
/* Fill a rectangle with a gradient */
static void lcd_gradient_rect(int x1, int x2, int y, unsigned h,
@@ -373,10 +370,7 @@ void LCDFN(puts_scroll_style_offset)(int x, int y, const unsigned char *string,
s->len = utf8length(string);
s->offset = offset;
s->startx = x * LCDFN(getstringsize)(" ", NULL, NULL);
- s->backward = false;
-#if HAS_BACKDROP
- s->backdrop = (char*)LCDFN(get_backdrop());
-#endif
+ s->backward = false;
LCDFN(scroll_info).lines++;
}
@@ -405,9 +399,6 @@ void LCDFN(scroll_fn)(void)
int index;
int xpos, ypos;
struct viewport* old_vp = current_vp;
-#if HAS_BACKDROP
- FBFN(data*) old_backdrop = LCDFN(get_backdrop)();
-#endif
for ( index = 0; index < LCDFN(scroll_info).lines; index++ ) {
s = &LCDFN(scroll_info).scroll[index];
@@ -417,9 +408,7 @@ void LCDFN(scroll_fn)(void)
continue;
LCDFN(set_viewport)(s->vp);
-#if HAS_BACKDROP
- LCDFN(set_backdrop)((FBFN(data*))s->backdrop);
-#endif
+
if (s->backward)
s->offset -= LCDFN(scroll_info).step;
else
@@ -453,8 +442,5 @@ void LCDFN(scroll_fn)(void)
LCDFN(update_viewport_rect)(xpos, ypos, current_vp->width - xpos,
pf->height);
}
-#if HAS_BACKDROP
- LCDFN(set_backdrop)(old_backdrop);
-#endif
LCDFN(set_viewport)(old_vp);
}
diff --git a/firmware/export/scroll_engine.h b/firmware/export/scroll_engine.h
index 838926af57..0fcb06af81 100644
--- a/firmware/export/scroll_engine.h
+++ b/firmware/export/scroll_engine.h
@@ -55,9 +55,6 @@ struct scrollinfo
int offset;
int startx;
#ifdef HAVE_LCD_BITMAP
-#if LCD_DEPTH > 1 || (defined(HAVE_LCD_REMOTE) && LCD_REMOTE_DEPTH > 1)
- char *backdrop;
-#endif
int width; /* length of line in pixels */
int style; /* line style */
#endif/* HAVE_LCD_BITMAP */