summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/skin_engine/skin_engine.c')
-rw-r--r--apps/gui/skin_engine/skin_engine.c63
1 files changed, 35 insertions, 28 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c
index 8e85cb891f..7a9a10ec57 100644
--- a/apps/gui/skin_engine/skin_engine.c
+++ b/apps/gui/skin_engine/skin_engine.c
@@ -55,34 +55,7 @@ void theme_init_buffer(void)
55} 55}
56#endif 56#endif
57 57
58void settings_apply_skins(void) 58void skin_data_free_buflib_allocs(struct wps_data *wps_data);
59{
60 int i, j;
61 skin_buffer_init(skin_buffer, SKIN_BUFFER_SIZE);
62
63#ifdef HAVE_LCD_BITMAP
64 skin_backdrop_init();
65 skin_font_init();
66#endif
67 gui_sync_skin_init();
68
69 /* Make sure each skin is loaded */
70 for (i=0; i<SKINNABLE_SCREENS_COUNT; i++)
71 {
72 FOR_NB_SCREENS(j)
73 skin_get_gwps(i, j);
74 }
75#if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
76 skin_backdrops_preload(); /* should maybe check the retval here... */
77#endif
78 viewportmanager_theme_changed(THEME_STATUSBAR);
79#if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
80 FOR_NB_SCREENS(i)
81 skin_backdrop_show(sb_get_backdrop(i));
82#endif
83}
84
85
86char* wps_default_skin(enum screen_type screen); 59char* wps_default_skin(enum screen_type screen);
87char* default_radio_skin(enum screen_type screen); 60char* default_radio_skin(enum screen_type screen);
88 61
@@ -130,6 +103,40 @@ void gui_sync_skin_init(void)
130 } 103 }
131} 104}
132 105
106void settings_apply_skins(void)
107{
108 int i, j;
109
110 for (i=0; i<SKINNABLE_SCREENS_COUNT; i++)
111 {
112 FOR_NB_SCREENS(j)
113 skin_data_free_buflib_allocs(&skins[j][i].data);
114 }
115
116 skin_buffer_init(skin_buffer, SKIN_BUFFER_SIZE);
117
118#ifdef HAVE_LCD_BITMAP
119 skin_backdrop_init();
120 skin_font_init();
121#endif
122 gui_sync_skin_init();
123
124 /* Make sure each skin is loaded */
125 for (i=0; i<SKINNABLE_SCREENS_COUNT; i++)
126 {
127 FOR_NB_SCREENS(j)
128 skin_get_gwps(i, j);
129 }
130#if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
131 skin_backdrops_preload(); /* should maybe check the retval here... */
132#endif
133 viewportmanager_theme_changed(THEME_STATUSBAR);
134#if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
135 FOR_NB_SCREENS(i)
136 skin_backdrop_show(sb_get_backdrop(i));
137#endif
138}
139
133void skin_load(enum skinnable_screens skin, enum screen_type screen, 140void skin_load(enum skinnable_screens skin, enum screen_type screen,
134 const char *buf, bool isfile) 141 const char *buf, bool isfile)
135{ 142{