summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-11-10 04:46:52 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-11-10 04:46:52 +0000
commit29e28a3945b99ec19703848c8337ea406d99bfd6 (patch)
treea168102a7c55a1be32516d50e995adbc2481c2eb /apps/gui
parentdd93ef41bb9a75e92b664b97bc34f2bcf17edcde (diff)
hopefully fix "early usb"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23599 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/usb_screen.c27
-rw-r--r--apps/gui/usb_screen.h2
2 files changed, 18 insertions, 11 deletions
diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c
index 50188274d2..454570bc3f 100644
--- a/apps/gui/usb_screen.c
+++ b/apps/gui/usb_screen.c
@@ -128,7 +128,7 @@ struct usb_screen_vps_t
#ifdef HAVE_LCD_BITMAP
static void usb_screen_fix_viewports(struct screen *screen,
- struct usb_screen_vps_t *usb_screen_vps)
+ struct usb_screen_vps_t *usb_screen_vps, bool early_usb)
{
int logo_width, logo_height;
struct viewport *parent = &usb_screen_vps->parent;
@@ -147,10 +147,15 @@ static void usb_screen_fix_viewports(struct screen *screen,
logo_height = BMPHEIGHT_usblogo;
}
- viewport_set_defaults(parent, screen->screen_type);
- if (parent->width < logo_width || parent->height < logo_height)
+ if (!early_usb)
+ {
+ viewport_set_defaults(parent, screen->screen_type);
+ if (parent->width < logo_width || parent->height < logo_height)
+ viewport_set_fullscreen(parent, screen->screen_type);
+ }
+ else
viewport_set_fullscreen(parent, screen->screen_type);
-
+
*logo = *parent;
logo->x = parent->width - logo_width;
logo->y = (parent->height - logo_height) / 2;
@@ -242,10 +247,10 @@ static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar)
viewportmanager_set_statusbar(usb_bars);
}
-void gui_usb_screen_run(void)
+void gui_usb_screen_run(bool early_usb)
{
int i;
- int old_bars = viewportmanager_get_statusbar();
+ int old_bars = early_usb ? 0 : viewportmanager_get_statusbar();
struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS];
#if defined HAVE_TOUCHSCREEN
enum touchscreen_mode old_mode = touchscreen_get_mode();
@@ -270,7 +275,7 @@ void gui_usb_screen_run(void)
screen->set_viewport(NULL);
#ifdef HAVE_LCD_BITMAP
- usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i]);
+ usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i], early_usb);
#endif
}
@@ -318,9 +323,11 @@ void gui_usb_screen_run(void)
{
screens[i].backlight_on();
}
- viewportmanager_set_statusbar(old_bars);
- send_event(GUI_EVENT_REFRESH, NULL);
-
+ if (!early_usb)
+ {
+ viewportmanager_set_statusbar(old_bars);
+ send_event(GUI_EVENT_REFRESH, NULL);
+ }
}
#endif /* !defined(USB_NONE) */
diff --git a/apps/gui/usb_screen.h b/apps/gui/usb_screen.h
index d601546520..cbf4d296a5 100644
--- a/apps/gui/usb_screen.h
+++ b/apps/gui/usb_screen.h
@@ -21,7 +21,7 @@
#ifndef _USB_SCREEN_H_
#define _USB_SCREEN_H_
-extern void gui_usb_screen_run(void);
+extern void gui_usb_screen_run(bool early_usb);
#endif