From b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Wed, 9 Dec 2009 07:25:46 +0000 Subject: FS#10824 - viewport/statusbar API rework. Hopefully the only user visible changes are: - fm and recording screens go by the statusbar setting (sbs or inbuilt) - plugins go back to using the theme as they should for menus and lists - splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later. - hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed New GUI screen rules: * Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit * Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly. ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657 --- apps/recorder/radio.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'apps/recorder/radio.c') diff --git a/apps/recorder/radio.c b/apps/recorder/radio.c index 87614aec15..d49b94d434 100644 --- a/apps/recorder/radio.c +++ b/apps/recorder/radio.c @@ -494,7 +494,6 @@ int radio_screen(void) int button_timeout = current_tick + (2*HZ); #endif struct viewport vp[NB_SCREENS]; - int oldbars = 0, fmbars = VP_SB_ALLSCREENS; #ifdef HAVE_BUTTONBAR struct gui_buttonbar buttonbar; gui_buttonbar_init(&buttonbar); @@ -505,9 +504,6 @@ int radio_screen(void) in_screen = true; /* always display status bar in radio screen for now */ - FOR_NB_SCREENS(i) - fmbars |= VP_SB_IGNORE_SETTING(i); - oldbars = viewportmanager_set_statusbar(fmbars); FOR_NB_SCREENS(i) { viewport_set_defaults(&vp[i], i); @@ -761,14 +757,14 @@ int radio_screen(void) break; case ACTION_FM_MENU: - viewportmanager_set_statusbar(oldbars); FOR_NB_SCREENS(i) + { screens[i].scroll_stop(&vp[i]); + } radio_menu(); curr_preset = find_preset(curr_freq); - viewportmanager_set_statusbar(fmbars); FOR_NB_SCREENS(i) - { + { screens[i].set_viewport(&vp[i]); screens[i].clear_viewport(); screens[i].update_viewport(); @@ -798,9 +794,7 @@ int radio_screen(void) break; } - viewportmanager_set_statusbar(oldbars); handle_radio_presets(); - viewportmanager_set_statusbar(fmbars); FOR_NB_SCREENS(i) { screens[i].set_viewport(&vp[i]); @@ -932,12 +926,9 @@ int radio_screen(void) FOR_NB_SCREENS(i) { screens[i].set_viewport(&vp[i]); - peak_meter_screen(&screens[i],0, - STATUSBAR_HEIGHT + fh*(top_of_screen + 4), - fh); - screens[i].update_rect(0, - STATUSBAR_HEIGHT + fh*(top_of_screen + 4), - screens[i].getwidth(), fh); + peak_meter_screen(&screens[i],0, fh*(top_of_screen + 4),fh); + screens[i].update_rect(0, fh*(top_of_screen + 4), + screens[i].getwidth(), fh); screens[i].set_viewport(NULL); } } @@ -1134,8 +1125,9 @@ int radio_screen(void) cpu_idle_mode(false); #endif FOR_NB_SCREENS(i) + { screens[i].scroll_stop(&vp[i]); - viewportmanager_set_statusbar(oldbars); + } in_screen = false; #if CONFIG_CODEC != SWCODEC return have_recorded; -- cgit v1.2.3