From 7ea4d591277e35b05baadebb0be3a1d909e830d7 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Thu, 16 Feb 2006 22:36:04 +0000 Subject: 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 --- apps/plugin.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'apps') 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; -- cgit v1.2.3