void fms_fix_displays(enum fms_exiting toggle_state) { int i; FOR_NB_SCREENS(i) { if (toggle_state == FMS_ENTER) { viewportmanager_theme_enable(i, skin_has_sbs(i, fms_skin[i].data), NULL); #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 screens[i].backdrop_show(fms_skin[i].data->backdrop); #endif screens[i].clear_display(); /* force statusbar/skin update since we just cleared the whole screen */ send_event(GUI_EVENT_ACTIONUPDATE, (void*)1); } else { screens[i].stop_scroll(); #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 screens[i].backdrop_show(sb_get_backdrop(i)); #endif viewportmanager_theme_undo(i, skin_has_sbs(i, fms_skin[i].data)); } } }
/* call this after loading a .wps/.rwps pr other skin files, so that the * skin buffer is reset properly */ void settings_apply_skins(void) { char buf[MAX_PATH]; /* re-initialize the skin buffer before we start reloading skins */ skin_buffer_init(); #ifdef HAVE_LCD_BITMAP skin_font_init(); if ( global_settings.sbs_file[0] && global_settings.sbs_file[0] != 0xff ) { snprintf(buf, sizeof buf, SBS_DIR "/%s.sbs", global_settings.sbs_file); sb_skin_data_load(SCREEN_MAIN, buf, true); } else { sb_skin_data_load(SCREEN_MAIN, NULL, true); } #endif if ( global_settings.wps_file[0] && global_settings.wps_file[0] != 0xff ) { snprintf(buf, sizeof buf, WPS_DIR "/%s.wps", global_settings.wps_file); wps_data_load(SCREEN_MAIN, buf, true); } else { wps_data_load(SCREEN_MAIN, NULL, true); } #if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1) if ( global_settings.rsbs_file[0] && global_settings.rsbs_file[0] != 0xff ) { snprintf(buf, sizeof buf, SBS_DIR "/%s.rsbs", global_settings.rsbs_file); sb_skin_data_load(SCREEN_REMOTE, buf, true); } else { sb_skin_data_load(SCREEN_REMOTE, NULL, true); } if ( global_settings.rwps_file[0]) { snprintf(buf, sizeof buf, WPS_DIR "/%s.rwps", global_settings.rwps_file); wps_data_load(SCREEN_REMOTE, buf, true); } else { wps_data_load(SCREEN_REMOTE, NULL, true); } #endif viewportmanager_theme_changed(THEME_STATUSBAR); #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 int i; FOR_NB_SCREENS(i) screens[i].backdrop_show(sb_get_backdrop(i)); #endif }
void settings_apply_skins(void) { char buf[MAX_PATH]; /* re-initialize the skin buffer before we start reloading skins */ skin_buffer_init(); enum screen_type screen = SCREEN_MAIN; unsigned int i; #ifdef HAVE_LCD_BITMAP skin_backdrop_init(); skin_font_init(); #endif #if CONFIG_TUNER fms_skin_init(); #endif for (i=0; i<ARRAYLEN(skins); i++) { #ifdef HAVE_REMOTE_LCD screen = skins[i].suffix[0] == 'r' ? SCREEN_REMOTE : SCREEN_MAIN; #endif CHART2(">skin load ", skins[i].suffix); if (skins[i].setting[0] && skins[i].setting[0] != '-') { snprintf(buf, sizeof buf, WPS_DIR "/%s.%s", skins[i].setting, skins[i].suffix); skins[i].loadfunc(screen, buf, true); } else { skins[i].loadfunc(screen, NULL, true); } CHART2("<skin load ", skins[i].suffix); } viewportmanager_theme_changed(THEME_STATUSBAR); #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 FOR_NB_SCREENS(i) screens[i].backdrop_show(sb_get_backdrop(i)); #endif }