From 7e6f124d4e155c4a9672c9797a324305f047466a Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Mon, 8 Feb 2010 09:38:03 +0000 Subject: 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 --- apps/gui/skin_engine/skin_display.c | 5 ----- apps/gui/viewport.c | 3 --- apps/gui/wps.c | 4 +++- apps/settings.c | 3 +++ firmware/drivers/lcd-bitmap-common.c | 18 ++---------------- firmware/export/scroll_engine.h | 3 --- 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 */ -- cgit v1.2.3