From 4a994d092e3af9937750bbbdd0fa913d43a1fe20 Mon Sep 17 00:00:00 2001 From: jdgordon Date: Mon, 8 Feb 2010 09:38:03 +0000 Subject: [PATCH] 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 9ec4a9edb..8637190ba 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 78b6379bd..4b8960845 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 ca74c452f..f461c02f7 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 1b16e9fe8..c4ebabcba 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 24c5aa15c..586c74578 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 838926af5..0fcb06af8 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 */ -- 2.11.4.GIT