summaryrefslogtreecommitdiff
path: root/apps
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
parentdd93ef41bb9a75e92b664b97bc34f2bcf17edcde (diff)
downloadrockbox-29e28a3945b99ec19703848c8337ea406d99bfd6.tar.gz
rockbox-29e28a3945b99ec19703848c8337ea406d99bfd6.zip
hopefully fix "early usb"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23599 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/usb_screen.c27
-rw-r--r--apps/gui/usb_screen.h2
-rw-r--r--apps/main.c4
-rw-r--r--apps/misc.c2
4 files changed, 21 insertions, 14 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
128 128
129#ifdef HAVE_LCD_BITMAP 129#ifdef HAVE_LCD_BITMAP
130static void usb_screen_fix_viewports(struct screen *screen, 130static void usb_screen_fix_viewports(struct screen *screen,
131 struct usb_screen_vps_t *usb_screen_vps) 131 struct usb_screen_vps_t *usb_screen_vps, bool early_usb)
132{ 132{
133 int logo_width, logo_height; 133 int logo_width, logo_height;
134 struct viewport *parent = &usb_screen_vps->parent; 134 struct viewport *parent = &usb_screen_vps->parent;
@@ -147,10 +147,15 @@ static void usb_screen_fix_viewports(struct screen *screen,
147 logo_height = BMPHEIGHT_usblogo; 147 logo_height = BMPHEIGHT_usblogo;
148 } 148 }
149 149
150 viewport_set_defaults(parent, screen->screen_type); 150 if (!early_usb)
151 if (parent->width < logo_width || parent->height < logo_height) 151 {
152 viewport_set_defaults(parent, screen->screen_type);
153 if (parent->width < logo_width || parent->height < logo_height)
154 viewport_set_fullscreen(parent, screen->screen_type);
155 }
156 else
152 viewport_set_fullscreen(parent, screen->screen_type); 157 viewport_set_fullscreen(parent, screen->screen_type);
153 158
154 *logo = *parent; 159 *logo = *parent;
155 logo->x = parent->width - logo_width; 160 logo->x = parent->width - logo_width;
156 logo->y = (parent->height - logo_height) / 2; 161 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)
242 viewportmanager_set_statusbar(usb_bars); 247 viewportmanager_set_statusbar(usb_bars);
243} 248}
244 249
245void gui_usb_screen_run(void) 250void gui_usb_screen_run(bool early_usb)
246{ 251{
247 int i; 252 int i;
248 int old_bars = viewportmanager_get_statusbar(); 253 int old_bars = early_usb ? 0 : viewportmanager_get_statusbar();
249 struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS]; 254 struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS];
250#if defined HAVE_TOUCHSCREEN 255#if defined HAVE_TOUCHSCREEN
251 enum touchscreen_mode old_mode = touchscreen_get_mode(); 256 enum touchscreen_mode old_mode = touchscreen_get_mode();
@@ -270,7 +275,7 @@ void gui_usb_screen_run(void)
270 275
271 screen->set_viewport(NULL); 276 screen->set_viewport(NULL);
272#ifdef HAVE_LCD_BITMAP 277#ifdef HAVE_LCD_BITMAP
273 usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i]); 278 usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i], early_usb);
274#endif 279#endif
275 } 280 }
276 281
@@ -318,9 +323,11 @@ void gui_usb_screen_run(void)
318 { 323 {
319 screens[i].backlight_on(); 324 screens[i].backlight_on();
320 } 325 }
321 viewportmanager_set_statusbar(old_bars); 326 if (!early_usb)
322 send_event(GUI_EVENT_REFRESH, NULL); 327 {
323 328 viewportmanager_set_statusbar(old_bars);
329 send_event(GUI_EVENT_REFRESH, NULL);
330 }
324} 331}
325#endif /* !defined(USB_NONE) */ 332#endif /* !defined(USB_NONE) */
326 333
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 @@
21#ifndef _USB_SCREEN_H_ 21#ifndef _USB_SCREEN_H_
22#define _USB_SCREEN_H_ 22#define _USB_SCREEN_H_
23 23
24extern void gui_usb_screen_run(void); 24extern void gui_usb_screen_run(bool early_usb);
25 25
26#endif 26#endif
27 27
diff --git a/apps/main.c b/apps/main.c
index 1eed068f14..e5349ae4bf 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -496,7 +496,7 @@ static void init(void)
496 (mmc_remove_request() == SYS_HOTSWAP_EXTRACTED)) 496 (mmc_remove_request() == SYS_HOTSWAP_EXTRACTED))
497#endif 497#endif
498 { 498 {
499 gui_usb_screen_run(); 499 gui_usb_screen_run(true);
500 mounted = true; /* mounting done @ end of USB mode */ 500 mounted = true; /* mounting done @ end of USB mode */
501 } 501 }
502#ifdef HAVE_USB_POWER 502#ifdef HAVE_USB_POWER
@@ -521,7 +521,7 @@ static void init(void)
521 lcd_update(); 521 lcd_update();
522 522
523 while(button_get(true) != SYS_USB_CONNECTED) {}; 523 while(button_get(true) != SYS_USB_CONNECTED) {};
524 gui_usb_screen_run(); 524 gui_usb_screen_run(true);
525 system_reboot(); 525 system_reboot();
526 } 526 }
527 } 527 }
diff --git a/apps/misc.c b/apps/misc.c
index f1c38f376c..9e5fb4068d 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -581,7 +581,7 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
581 check_bootfile(false); /* gets initial size */ 581 check_bootfile(false); /* gets initial size */
582#endif 582#endif
583#endif 583#endif
584 gui_usb_screen_run(); 584 gui_usb_screen_run(false);
585#ifdef BOOTFILE 585#ifdef BOOTFILE
586#if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF) 586#if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF)
587 check_bootfile(true); 587 check_bootfile(true);