Example #1
0
/* 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
}
Example #2
0
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
}