diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-11-10 04:46:52 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-11-10 04:46:52 +0000 |
commit | 29e28a3945b99ec19703848c8337ea406d99bfd6 (patch) | |
tree | a168102a7c55a1be32516d50e995adbc2481c2eb /apps | |
parent | dd93ef41bb9a75e92b664b97bc34f2bcf17edcde (diff) | |
download | rockbox-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.c | 27 | ||||
-rw-r--r-- | apps/gui/usb_screen.h | 2 | ||||
-rw-r--r-- | apps/main.c | 4 | ||||
-rw-r--r-- | apps/misc.c | 2 |
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 |
130 | static void usb_screen_fix_viewports(struct screen *screen, | 130 | static 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 | ||
245 | void gui_usb_screen_run(void) | 250 | void 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 | ||
24 | extern void gui_usb_screen_run(void); | 24 | extern 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); |