forked from len0rd/rockbox
Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.) All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false). This commit also includes some menu/list viewport cleanups from kugel in FS#9603 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
54919ae917
commit
e385ee18ce
46 changed files with 294 additions and 264 deletions
|
|
@ -47,6 +47,7 @@
|
|||
#include "misc.h"
|
||||
#include "splash.h"
|
||||
#include "dircache.h"
|
||||
#include "viewport.h"
|
||||
#ifdef HAVE_TAGCACHE
|
||||
#include "tagcache.h"
|
||||
#endif
|
||||
|
|
@ -232,6 +233,7 @@ static bool dbg_audio_thread(void)
|
|||
struct audio_debug d;
|
||||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -269,6 +271,7 @@ static bool dbg_audio_thread(void)
|
|||
|
||||
lcd_update();
|
||||
}
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif /* !SIMULATOR */
|
||||
|
|
@ -304,6 +307,7 @@ static bool dbg_buffering_thread(void)
|
|||
tick_add_task(dbg_audio_task);
|
||||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
while(!done)
|
||||
{
|
||||
button = get_action(CONTEXT_STD,HZ/5);
|
||||
|
|
@ -394,6 +398,7 @@ static bool dbg_buffering_thread(void)
|
|||
}
|
||||
|
||||
tick_remove_task(dbg_audio_task);
|
||||
viewportmanager_set_statusbar(true);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
@ -526,6 +531,7 @@ static bool dbg_hw_info(void)
|
|||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
lcd_clear_display();
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
lcd_puts(0, 0, "[Hardware info]");
|
||||
|
||||
|
|
@ -564,6 +570,7 @@ static bool dbg_hw_info(void)
|
|||
int got_id; /* flag if we managed to get the flash IDs */
|
||||
int oldmode; /* saved memory guard mode */
|
||||
int line = 0;
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
oldmode = system_memory_guard(MEMGUARD_NONE); /* disable memory guard */
|
||||
|
||||
|
|
@ -626,6 +633,7 @@ static bool dbg_hw_info(void)
|
|||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
lcd_clear_display();
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
lcd_puts(0, line++, "[Hardware info]");
|
||||
|
||||
|
|
@ -679,10 +687,12 @@ static bool dbg_hw_info(void)
|
|||
lcd_update();
|
||||
|
||||
while (!(action_userabort(TIMEOUT_BLOCK)));
|
||||
|
||||
#else
|
||||
/* Define this function in your target tree */
|
||||
return __dbg_hw_info();
|
||||
#endif /* CONFIG_CPU */
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#else /* !HAVE_LCD_BITMAP */
|
||||
|
|
@ -824,6 +834,7 @@ static bool dbg_spdif(void)
|
|||
|
||||
lcd_clear_display();
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
#ifdef HAVE_SPDIF_POWER
|
||||
spdif_power_enable(true); /* We need SPDIF power for both sending & receiving */
|
||||
|
|
@ -976,6 +987,7 @@ static bool dbg_spdif(void)
|
|||
spdif_power_enable(global_settings.spdif_enable);
|
||||
#endif
|
||||
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif /* CPU_COLDFIRE */
|
||||
|
|
@ -1033,6 +1045,7 @@ bool dbg_ports(void)
|
|||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
lcd_clear_display();
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1057,7 +1070,10 @@ bool dbg_ports(void)
|
|||
|
||||
lcd_update();
|
||||
if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
|
||||
{
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#elif defined(CPU_COLDFIRE)
|
||||
unsigned int gpio_out;
|
||||
|
|
@ -1075,6 +1091,7 @@ bool dbg_ports(void)
|
|||
|
||||
lcd_clear_display();
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1140,7 +1157,10 @@ bool dbg_ports(void)
|
|||
|
||||
lcd_update();
|
||||
if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
|
||||
{
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#elif defined(CPU_PP502x)
|
||||
|
|
@ -1150,6 +1170,7 @@ bool dbg_ports(void)
|
|||
|
||||
lcd_clear_display();
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1247,7 +1268,10 @@ extern unsigned char serbuf[];
|
|||
#endif
|
||||
lcd_update();
|
||||
if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
|
||||
{
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#elif CONFIG_CPU == PP5002
|
||||
|
|
@ -1256,6 +1280,7 @@ extern unsigned char serbuf[];
|
|||
|
||||
lcd_clear_display();
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1286,8 +1311,12 @@ extern unsigned char serbuf[];
|
|||
|
||||
lcd_update();
|
||||
if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
|
||||
{
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
viewportmanager_set_statusbar(true);
|
||||
#else
|
||||
return __dbg_ports();
|
||||
#endif /* CPU */
|
||||
|
|
@ -1302,6 +1331,7 @@ bool dbg_ports(void)
|
|||
int currval = 0;
|
||||
|
||||
lcd_clear_display();
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1337,7 +1367,6 @@ bool dbg_ports(void)
|
|||
case 9:
|
||||
snprintf(buf, 32, "AN7: %03x", adc_read(7));
|
||||
break;
|
||||
break;
|
||||
}
|
||||
lcd_puts(0, 0, buf);
|
||||
|
||||
|
|
@ -1367,6 +1396,7 @@ bool dbg_ports(void)
|
|||
break;
|
||||
}
|
||||
}
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif /* !HAVE_LCD_BITMAP */
|
||||
|
|
@ -1382,6 +1412,7 @@ static bool dbg_pcf(void)
|
|||
lcd_setfont(FONT_SYSFIXED);
|
||||
#endif
|
||||
lcd_clear_display();
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1417,10 +1448,12 @@ static bool dbg_pcf(void)
|
|||
lcd_update();
|
||||
if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
|
||||
{
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1436,6 +1469,7 @@ static bool dbg_cpufreq(void)
|
|||
lcd_setfont(FONT_SYSFIXED);
|
||||
#endif
|
||||
lcd_clear_display();
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1467,10 +1501,11 @@ static bool dbg_cpufreq(void)
|
|||
break;
|
||||
|
||||
case ACTION_STD_CANCEL:
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif /* HAVE_ADJUSTABLE_CPU_FREQ */
|
||||
|
|
@ -1563,6 +1598,7 @@ static bool view_battery(void)
|
|||
char buf[32];
|
||||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
|
@ -1803,9 +1839,11 @@ static bool view_battery(void)
|
|||
break;
|
||||
|
||||
case ACTION_STD_CANCEL:
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -2434,6 +2472,7 @@ static bool cpu_boost_log(void)
|
|||
bool done;
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
str = cpu_boost_log_getlog_first();
|
||||
viewportmanager_set_statusbar(false);
|
||||
while (i < count)
|
||||
{
|
||||
lcd_clear_display();
|
||||
|
|
@ -2467,6 +2506,7 @@ static bool cpu_boost_log(void)
|
|||
}
|
||||
get_action(CONTEXT_STD,TIMEOUT_BLOCK);
|
||||
lcd_setfont(FONT_UI);
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -2485,11 +2525,12 @@ static bool dbg_scrollwheel(void)
|
|||
unsigned int speed;
|
||||
|
||||
lcd_setfont(FONT_SYSFIXED);
|
||||
viewportmanager_set_statusbar(false);
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (action_userabort(HZ/10))
|
||||
return false;
|
||||
break;
|
||||
|
||||
lcd_clear_display();
|
||||
|
||||
|
|
@ -2514,6 +2555,7 @@ static bool dbg_scrollwheel(void)
|
|||
|
||||
lcd_update();
|
||||
}
|
||||
viewportmanager_set_statusbar(true);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue