summaryrefslogtreecommitdiffstats
path: root/apps/gui/skin_engine/skin_engine.h
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-09-14 11:56:50 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-09-14 11:56:50 +0000
commit9928e3418f67fe6d2f82292ddbddcf56ae20b8f6 (patch)
tree397b13a537a476feb77b7d052250b98055924aec /apps/gui/skin_engine/skin_engine.h
parent0928cdf074c8991f470fa0d96e6d4f828998b643 (diff)
downloadrockbox-9928e3418f67fe6d2f82292ddbddcf56ae20b8f6.tar.gz
rockbox-9928e3418f67fe6d2f82292ddbddcf56ae20b8f6.tar.bz2
rockbox-9928e3418f67fe6d2f82292ddbddcf56ae20b8f6.zip
Another major skin backend update/hopefully bugfix:
Skins are now more self contained in the skin manager which in the future might allow on demand skin loading (i.e smaller skin buffers) Skin backdrops are also managed more intelegently (fixes a bug where you can get a crazy backdrop loaded if a .sbs fails to load) the rockbox_default rescue theme is now called rockbox_failsafe to better express what it actually is. This commit hopefully/maybe fixes the heavily reported data aborts, so please check if you are getting them git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28073 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_engine.h')
-rw-r--r--apps/gui/skin_engine/skin_engine.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/apps/gui/skin_engine/skin_engine.h b/apps/gui/skin_engine/skin_engine.h
index 6beedd90a2..ef4297d0ce 100644
--- a/apps/gui/skin_engine/skin_engine.h
+++ b/apps/gui/skin_engine/skin_engine.h
@@ -73,7 +73,8 @@ void skin_disarm_touchregions(struct wps_data *data);
#endif
/* Do a update_type update of the skinned screen */
-void skin_update(struct gui_wps *gwps, unsigned int update_type);
+void skin_update(enum skinnable_screens skin, enum screen_type screen,
+ unsigned int update_type);
/*
* setup up the skin-data from a format-buffer (isfile = false)
@@ -92,13 +93,28 @@ bool skin_has_sbs(enum screen_type screen, struct wps_data *data);
* reuse buffers if the file is already loaded */
char* skin_backdrop_load(char* backdrop, char *bmpdir, enum screen_type screen);
void skin_backdrop_init(void);
-
+int skin_backdrop_assign(char* backdrop, char *bmpdir,
+ enum screen_type screen);
+bool skin_backdrops_preload(void);
+void skin_backdrop_show(int backdrop_id);
+void skin_backdrop_load_setting(void);
+void skin_backdrop_unload(int backdrop_id);
/* do the button loop as often as required for the peak meters to update
* with a good refresh rate.
* gwps is really gwps[NB_SCREENS]! don't wrap this in FOR_NB_SCREENS()
*/
-int skin_wait_for_action(struct gui_wps *gwps, int context, int timeout);
-#endif
+int skin_wait_for_action(enum skinnable_screens skin, int context, int timeout);
+
+void skin_load(enum skinnable_screens skin, enum screen_type screen,
+ const char *buf, bool isfile);
+struct gui_wps *skin_get_gwps(enum skinnable_screens skin, enum screen_type screen);
+struct wps_state *skin_get_global_state(void);
+void gui_sync_skin_init(void);
+
+
+bool skin_do_full_update(enum skinnable_screens skin, enum screen_type screen);
+void skin_request_full_update(enum skinnable_screens skin);
+#endif /* !PLUGIN */
#endif