diff options
author | Jens Arnold <amiconn@rockbox.org> | 2006-02-16 22:36:04 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2006-02-16 22:36:04 +0000 |
commit | 7ea4d591277e35b05baadebb0be3a1d909e830d7 (patch) | |
tree | 1b1e70e2eda7bbbfd3286bed0fcc477ddc7084a1 /apps/plugin.c | |
parent | 791005a54128f6393cfa5189864f68d09cdfc03a (diff) |
Plugin loader adjustments: * Don't clear the LCD before loading, just show a splash instead. * After successful loading, remove backdrop, then clear display, to properly prepare the screen for the plugin. * Clear after returning from plugin and restoring the backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8710 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugin.c')
-rw-r--r-- | apps/plugin.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/apps/plugin.c b/apps/plugin.c index 6f44a9c8ce..6060b4ad31 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -424,13 +424,8 @@ int plugin_load(const char* plugin, void* parameter) plugin_loaded = false; } - lcd_clear_display(); -#ifdef HAVE_LCD_BITMAP - xm = lcd_getxmargin(); - ym = lcd_getymargin(); - lcd_setmargins(0,0); - lcd_update(); -#endif + gui_syncsplash(0, true, str(LANG_WAIT)); + #ifdef SIMULATOR hdr = sim_plugin_load((char *)plugin, &fd); if (!fd) { @@ -486,10 +481,18 @@ int plugin_load(const char* plugin, void* parameter) plugin_loaded = true; +#ifdef HAVE_LCD_BITMAP + xm = lcd_getxmargin(); + ym = lcd_getymargin(); + lcd_setmargins(0,0); #ifdef HAVE_LCD_COLOR old_backdrop = lcd_get_backdrop(); lcd_set_backdrop(NULL); +#endif + lcd_clear_display(); lcd_update(); +#else /* !HAVE_LCD_BITMAP */ + lcd_clear_display(); #endif invalidate_icache(); @@ -506,10 +509,12 @@ int plugin_load(const char* plugin, void* parameter) #endif /* LCD_DEPTH */ /* restore margins */ lcd_setmargins(xm,ym); -#endif /* HAVE_LCD_BITMAP */ #ifdef HAVE_LCD_COLOR lcd_set_backdrop(old_backdrop); #endif + lcd_clear_display(); + lcd_update(); +#endif /* HAVE_LCD_BITMAP */ if (pfn_tsr_exit == NULL) plugin_loaded = false; |