diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-01-29 07:52:13 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-01-29 07:52:13 +0000 |
commit | eee5423fe10f247f74d69404924edf3a0d54e8cd (patch) | |
tree | df46391368a2ad7930a926c59f53796229a933ab /apps/menus/theme_menu.c | |
parent | e3e436e2b5519637981b2667f79c42b2e4ed110b (diff) | |
download | rockbox-eee5423fe10f247f74d69404924edf3a0d54e8cd.tar.gz rockbox-eee5423fe10f247f74d69404924edf3a0d54e8cd.zip |
skin rework (FS#10922) notable changes:
- simplify the setting/skin relationship. settings are used as the fallback if it's not specified in the skin
- backdrop buffers are now in the skin buffer (which has also increased slightly to accomodate 1 backdrop for each skin and 2 full colour screens for bmps (up for 1.5))
- if no %X is specified in a skin then the backdrop setting will be used. use %Xd to explicitly disable a skin from displaying a backdrop
- the base skin can now specify a backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24366 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menus/theme_menu.c')
-rw-r--r-- | apps/menus/theme_menu.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c index accf9e14d4..7c19335df9 100644 --- a/apps/menus/theme_menu.c +++ b/apps/menus/theme_menu.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include "exported_menus.h" | 39 | #include "exported_menus.h" |
40 | #include "appevents.h" | 40 | #include "appevents.h" |
41 | #include "viewport.h" | 41 | #include "viewport.h" |
42 | #include "statusbar-skinned.h" | ||
42 | 43 | ||
43 | #if LCD_DEPTH > 1 | 44 | #if LCD_DEPTH > 1 |
44 | /** | 45 | /** |
@@ -47,11 +48,9 @@ | |||
47 | static int clear_main_backdrop(void) | 48 | static int clear_main_backdrop(void) |
48 | { | 49 | { |
49 | global_settings.backdrop_file[0]=0; | 50 | global_settings.backdrop_file[0]=0; |
50 | backdrop_unload(BACKDROP_MAIN); | 51 | sb_set_backdrop(SCREEN_MAIN, NULL); |
51 | backdrop_show(BACKDROP_MAIN); | ||
52 | /* force a full redraw so the whole backdrop is cleared */ | ||
53 | viewportmanager_theme_enable(SCREEN_MAIN, false, NULL); | 52 | viewportmanager_theme_enable(SCREEN_MAIN, false, NULL); |
54 | viewportmanager_theme_undo(SCREEN_MAIN, false); | 53 | viewportmanager_theme_undo(SCREEN_MAIN, true); |
55 | settings_save(); | 54 | settings_save(); |
56 | return 0; | 55 | return 0; |
57 | } | 56 | } |
@@ -162,10 +161,7 @@ static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item | |||
162 | old_bar[screen] = statusbar_position(screen); | 161 | old_bar[screen] = statusbar_position(screen); |
163 | break; | 162 | break; |
164 | case ACTION_EXIT_MENUITEM: | 163 | case ACTION_EXIT_MENUITEM: |
165 | send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL); | 164 | settings_apply_skins(); |
166 | /* force a full redraw */ | ||
167 | viewportmanager_theme_enable(screen, false, NULL); | ||
168 | viewportmanager_theme_undo(screen, false); | ||
169 | break; | 165 | break; |
170 | } | 166 | } |
171 | return ACTION_REDRAW; | 167 | return ACTION_REDRAW; |