diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-03-15 20:17:11 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-03-15 20:17:11 -0400 |
commit | b3e0d18f7d1edae3f2ad5908b756052f89a09a9a (patch) | |
tree | a1ae39c2b84f2df703ab7d8b64df2aeb68a4f9a8 | |
parent | a5c16d2990ba951832f126f5aa9da0221c68f609 (diff) | |
download | rockbox-b3e0d18f7d1edae3f2ad5908b756052f89a09a9a.tar.gz rockbox-b3e0d18f7d1edae3f2ad5908b756052f89a09a9a.zip |
skin_engine.c settings_apply_skins cleanup
just some cleanup and removal of ifdefs in favor of dummy functions
Change-Id: I03a1d351344afcc428dedb67aab915184f99bd23
-rw-r--r-- | apps/gui/skin_engine/skin_backdrops.c | 18 | ||||
-rw-r--r-- | apps/gui/skin_engine/skin_engine.c | 33 | ||||
-rw-r--r-- | apps/gui/skin_engine/skin_engine.h | 2 | ||||
-rw-r--r-- | apps/gui/statusbar-skinned.c | 7 | ||||
-rw-r--r-- | apps/gui/statusbar-skinned.h | 2 |
5 files changed, 40 insertions, 22 deletions
diff --git a/apps/gui/skin_engine/skin_backdrops.c b/apps/gui/skin_engine/skin_backdrops.c index 41de1e1f76..146dccb18a 100644 --- a/apps/gui/skin_engine/skin_backdrops.c +++ b/apps/gui/skin_engine/skin_backdrops.c | |||
@@ -81,8 +81,9 @@ static int buflib_move_callback(int handle, void* current, void* new) | |||
81 | } | 81 | } |
82 | static struct buflib_callbacks buflib_ops = {buflib_move_callback, NULL, NULL}; | 82 | static struct buflib_callbacks buflib_ops = {buflib_move_callback, NULL, NULL}; |
83 | static bool first_go = true; | 83 | static bool first_go = true; |
84 | void skin_backdrop_init(void) | 84 | bool skin_backdrop_init(void) |
85 | { | 85 | { |
86 | bool go_status = first_go; | ||
86 | if (first_go) | 87 | if (first_go) |
87 | { | 88 | { |
88 | for (int i=0; i<NB_BDROPS; i++) | 89 | for (int i=0; i<NB_BDROPS; i++) |
@@ -98,6 +99,7 @@ void skin_backdrop_init(void) | |||
98 | handle_being_loaded = -1; | 99 | handle_being_loaded = -1; |
99 | first_go = false; | 100 | first_go = false; |
100 | } | 101 | } |
102 | return go_status; | ||
101 | } | 103 | } |
102 | 104 | ||
103 | int skin_backdrop_assign(char* backdrop, char *bmpdir, | 105 | int skin_backdrop_assign(char* backdrop, char *bmpdir, |
@@ -331,8 +333,20 @@ void skin_backdrop_unload(int backdrop_id) | |||
331 | (void)backdrop_id; | 333 | (void)backdrop_id; |
332 | } | 334 | } |
333 | #else | 335 | #else |
336 | static bool first_go = true; | ||
337 | bool skin_backdrop_init(void) | ||
338 | { | ||
339 | bool go_status = first_go; | ||
340 | first_go = false; | ||
341 | return go_status; | ||
342 | } | ||
343 | |||
344 | void skin_backdrop_load_setting(void) | ||
345 | { | ||
346 | } | ||
334 | 347 | ||
335 | void skin_backdrop_init(void) | 348 | void skin_backdrop_show(int backdrop_id) |
336 | { | 349 | { |
350 | (void) backdrop_id; | ||
337 | } | 351 | } |
338 | #endif | 352 | #endif |
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c index b3626b681d..8ba76e5739 100644 --- a/apps/gui/skin_engine/skin_engine.c +++ b/apps/gui/skin_engine/skin_engine.c | |||
@@ -149,16 +149,28 @@ void skin_unload_all(void) | |||
149 | gui_sync_skin_init(); | 149 | gui_sync_skin_init(); |
150 | } | 150 | } |
151 | 151 | ||
152 | static void skin_reset_buffers(int item, int screen) | ||
153 | { | ||
154 | skin_data_free_buflib_allocs(&skins[item][screen].data); | ||
155 | #ifdef HAVE_ALBUMART | ||
156 | if (skins[item][screen].data.playback_aa_slot >= 0) | ||
157 | playback_release_aa_slot(skins[item][screen].data.playback_aa_slot); | ||
158 | #endif | ||
159 | #ifdef HAVE_BACKDROP_IMAGE | ||
160 | if (skins[item][screen].data.backdrop_id >= 0) | ||
161 | skin_backdrop_unload(skins[item][screen].data.backdrop_id); | ||
162 | #endif | ||
163 | } | ||
164 | |||
152 | void settings_apply_skins(void) | 165 | void settings_apply_skins(void) |
153 | { | 166 | { |
154 | int i; | 167 | int i; |
155 | char filename[MAX_PATH]; | 168 | char filename[MAX_PATH]; |
156 | static bool first_run = true; | ||
157 | 169 | ||
158 | if (audio_status() & AUDIO_STATUS_PLAY) | 170 | if (audio_status() & AUDIO_STATUS_PLAY) |
159 | audio_stop(); | 171 | audio_stop(); |
160 | 172 | ||
161 | skin_backdrop_init(); | 173 | bool first_run = skin_backdrop_init(); |
162 | skins_initialised = true; | 174 | skins_initialised = true; |
163 | 175 | ||
164 | /* Make sure each skin is loaded */ | 176 | /* Make sure each skin is loaded */ |
@@ -170,15 +182,7 @@ void settings_apply_skins(void) | |||
170 | 182 | ||
171 | if (!first_run) | 183 | if (!first_run) |
172 | { | 184 | { |
173 | skin_data_free_buflib_allocs(&skins[i][j].data); | 185 | skin_reset_buffers(i, j); |
174 | #ifdef HAVE_ALBUMART | ||
175 | if (skins[i][j].data.playback_aa_slot >= 0) | ||
176 | playback_release_aa_slot(skins[i][j].data.playback_aa_slot); | ||
177 | #endif | ||
178 | #ifdef HAVE_BACKDROP_IMAGE | ||
179 | if (skins[i][j].data.backdrop_id >= 0) | ||
180 | skin_backdrop_unload(skins[i][j].data.backdrop_id); | ||
181 | #endif | ||
182 | } | 186 | } |
183 | gui_skin_reset(&skins[i][j]); | 187 | gui_skin_reset(&skins[i][j]); |
184 | skins[i][j].gui_wps.display = &screens[j]; | 188 | skins[i][j].gui_wps.display = &screens[j]; |
@@ -186,17 +190,14 @@ void settings_apply_skins(void) | |||
186 | skin_get_gwps(i, j); | 190 | skin_get_gwps(i, j); |
187 | } | 191 | } |
188 | } | 192 | } |
189 | first_run = false; | 193 | |
190 | #ifdef HAVE_BACKDROP_IMAGE | ||
191 | /* any backdrop that was loaded with "-" has to be reloaded because | 194 | /* any backdrop that was loaded with "-" has to be reloaded because |
192 | * the setting may have changed */ | 195 | * the setting may have changed */ |
193 | skin_backdrop_load_setting(); | 196 | skin_backdrop_load_setting(); |
194 | #endif | ||
195 | viewportmanager_theme_changed(THEME_STATUSBAR); | 197 | viewportmanager_theme_changed(THEME_STATUSBAR); |
196 | #ifdef HAVE_BACKDROP_IMAGE | 198 | |
197 | FOR_NB_SCREENS(i) | 199 | FOR_NB_SCREENS(i) |
198 | skin_backdrop_show(sb_get_backdrop(i)); | 200 | skin_backdrop_show(sb_get_backdrop(i)); |
199 | #endif | ||
200 | } | 201 | } |
201 | 202 | ||
202 | void skin_load(enum skinnable_screens skin, enum screen_type screen, | 203 | void skin_load(enum skinnable_screens skin, enum screen_type screen, |
diff --git a/apps/gui/skin_engine/skin_engine.h b/apps/gui/skin_engine/skin_engine.h index 3b757a5f8b..e26ec34d1f 100644 --- a/apps/gui/skin_engine/skin_engine.h +++ b/apps/gui/skin_engine/skin_engine.h | |||
@@ -62,7 +62,7 @@ bool skin_has_sbs(enum screen_type screen, struct wps_data *data); | |||
62 | /* load a backdrop into the skin buffer. | 62 | /* load a backdrop into the skin buffer. |
63 | * reuse buffers if the file is already loaded */ | 63 | * reuse buffers if the file is already loaded */ |
64 | char* skin_backdrop_load(char* backdrop, char *bmpdir, enum screen_type screen); | 64 | char* skin_backdrop_load(char* backdrop, char *bmpdir, enum screen_type screen); |
65 | void skin_backdrop_init(void); | 65 | bool skin_backdrop_init(void); |
66 | int skin_backdrop_assign(char* backdrop, char *bmpdir, | 66 | int skin_backdrop_assign(char* backdrop, char *bmpdir, |
67 | enum screen_type screen); | 67 | enum screen_type screen); |
68 | bool skin_backdrops_preload(void); | 68 | bool skin_backdrops_preload(void); |
diff --git a/apps/gui/statusbar-skinned.c b/apps/gui/statusbar-skinned.c index 63f3197faa..fd695bf6b6 100644 --- a/apps/gui/statusbar-skinned.c +++ b/apps/gui/statusbar-skinned.c | |||
@@ -156,7 +156,12 @@ int sb_get_backdrop(enum screen_type screen) | |||
156 | else | 156 | else |
157 | return -1; | 157 | return -1; |
158 | } | 158 | } |
159 | 159 | #else | |
160 | int sb_get_backdrop(enum screen_type screen) | ||
161 | { | ||
162 | (void) screen; | ||
163 | return -1; | ||
164 | } | ||
160 | #endif | 165 | #endif |
161 | static bool force_waiting = false; | 166 | static bool force_waiting = false; |
162 | void sb_skin_update(enum screen_type screen, bool force) | 167 | void sb_skin_update(enum screen_type screen, bool force) |
diff --git a/apps/gui/statusbar-skinned.h b/apps/gui/statusbar-skinned.h index ad102bef47..3ed36f1a84 100644 --- a/apps/gui/statusbar-skinned.h +++ b/apps/gui/statusbar-skinned.h | |||
@@ -49,9 +49,7 @@ void sb_bypass_touchregions(bool enable); | |||
49 | int sb_touch_to_button(int context); | 49 | int sb_touch_to_button(int context); |
50 | #endif | 50 | #endif |
51 | 51 | ||
52 | #if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1) | ||
53 | int sb_get_backdrop(enum screen_type screen); | 52 | int sb_get_backdrop(enum screen_type screen); |
54 | #endif | ||
55 | int sb_preproccess(enum screen_type screen, struct wps_data *data); | 53 | int sb_preproccess(enum screen_type screen, struct wps_data *data); |
56 | int sb_postproccess(enum screen_type screen, struct wps_data *data); | 54 | int sb_postproccess(enum screen_type screen, struct wps_data *data); |
57 | 55 | ||