diff options
author | Thomas Martitz <kugel@rockbox.org> | 2009-11-10 20:13:24 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2009-11-10 20:13:24 +0000 |
commit | c5b4482ee2468c0e40da4441ddf429c890b5a291 (patch) | |
tree | f24461e5db3690c5b69caf48710f61c542c961f4 /apps/gui/usb_screen.c | |
parent | 422fcbe35d93d2ea35695b8f746e0652ee1796ad (diff) | |
download | rockbox-c5b4482ee2468c0e40da4441ddf429c890b5a291.tar.gz rockbox-c5b4482ee2468c0e40da4441ddf429c890b5a291.zip |
Revert r23599 and r23600 and fix the early usb problem at the root. The the viewportmanager and custom statusbar was initialized too late.
Now, call it earlier and remove parts of it that caused the need to call it later. Removing that is OK since it's done again on settings loading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23603 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/usb_screen.c')
-rw-r--r-- | apps/gui/usb_screen.c | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c index 5306b014f0..c39acad9df 100644 --- a/apps/gui/usb_screen.c +++ b/apps/gui/usb_screen.c | |||
@@ -129,7 +129,7 @@ struct usb_screen_vps_t | |||
129 | 129 | ||
130 | #ifdef HAVE_LCD_BITMAP | 130 | #ifdef HAVE_LCD_BITMAP |
131 | static void usb_screen_fix_viewports(struct screen *screen, | 131 | static void usb_screen_fix_viewports(struct screen *screen, |
132 | struct usb_screen_vps_t *usb_screen_vps, bool early_usb) | 132 | struct usb_screen_vps_t *usb_screen_vps) |
133 | { | 133 | { |
134 | int logo_width, logo_height; | 134 | int logo_width, logo_height; |
135 | struct viewport *parent = &usb_screen_vps->parent; | 135 | struct viewport *parent = &usb_screen_vps->parent; |
@@ -148,15 +148,10 @@ static void usb_screen_fix_viewports(struct screen *screen, | |||
148 | logo_height = BMPHEIGHT_usblogo; | 148 | logo_height = BMPHEIGHT_usblogo; |
149 | } | 149 | } |
150 | 150 | ||
151 | if (!early_usb) | 151 | viewport_set_defaults(parent, screen->screen_type); |
152 | { | 152 | if (parent->width < logo_width || parent->height < logo_height) |
153 | viewport_set_defaults(parent, screen->screen_type); | ||
154 | if (parent->width < logo_width || parent->height < logo_height) | ||
155 | viewport_set_fullscreen(parent, screen->screen_type); | ||
156 | } | ||
157 | else | ||
158 | viewport_set_fullscreen(parent, screen->screen_type); | 153 | viewport_set_fullscreen(parent, screen->screen_type); |
159 | 154 | ||
160 | *logo = *parent; | 155 | *logo = *parent; |
161 | logo->x = parent->x + parent->width - logo_width; | 156 | logo->x = parent->x + parent->width - logo_width; |
162 | logo->y = parent->y + (parent->height - logo_height) / 2; | 157 | logo->y = parent->y + (parent->height - logo_height) / 2; |
@@ -182,7 +177,7 @@ static void usb_screen_fix_viewports(struct screen *screen, | |||
182 | } | 177 | } |
183 | #endif | 178 | #endif |
184 | 179 | ||
185 | static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar, bool early_usb) | 180 | static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar) |
186 | { | 181 | { |
187 | int i; | 182 | int i; |
188 | int usb_bars = VP_SB_ALLSCREENS; /* force statusbars */ | 183 | int usb_bars = VP_SB_ALLSCREENS; /* force statusbars */ |
@@ -241,14 +236,13 @@ static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar, bool ea | |||
241 | usb_bars |= VP_SB_IGNORE_SETTING(i); | 236 | usb_bars |= VP_SB_IGNORE_SETTING(i); |
242 | } | 237 | } |
243 | 238 | ||
244 | if (!early_usb) | 239 | viewportmanager_set_statusbar(usb_bars); |
245 | viewportmanager_set_statusbar(usb_bars); | ||
246 | } | 240 | } |
247 | 241 | ||
248 | void gui_usb_screen_run(bool early_usb) | 242 | void gui_usb_screen_run(void) |
249 | { | 243 | { |
250 | int i; | 244 | int i; |
251 | int old_bars = early_usb ? 0 : viewportmanager_get_statusbar(); | 245 | int old_bars = viewportmanager_get_statusbar(); |
252 | struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS]; | 246 | struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS]; |
253 | #if defined HAVE_TOUCHSCREEN | 247 | #if defined HAVE_TOUCHSCREEN |
254 | enum touchscreen_mode old_mode = touchscreen_get_mode(); | 248 | enum touchscreen_mode old_mode = touchscreen_get_mode(); |
@@ -273,13 +267,13 @@ void gui_usb_screen_run(bool early_usb) | |||
273 | 267 | ||
274 | screen->set_viewport(NULL); | 268 | screen->set_viewport(NULL); |
275 | #ifdef HAVE_LCD_BITMAP | 269 | #ifdef HAVE_LCD_BITMAP |
276 | usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i], early_usb); | 270 | usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i]); |
277 | #endif | 271 | #endif |
278 | } | 272 | } |
279 | 273 | ||
280 | while (1) | 274 | while (1) |
281 | { | 275 | { |
282 | usb_screens_draw(usb_screen_vps_ar, early_usb); | 276 | usb_screens_draw(usb_screen_vps_ar); |
283 | #ifdef SIMULATOR | 277 | #ifdef SIMULATOR |
284 | if (button_get_w_tmo(HZ/2)) | 278 | if (button_get_w_tmo(HZ/2)) |
285 | break; | 279 | break; |
@@ -321,11 +315,9 @@ void gui_usb_screen_run(bool early_usb) | |||
321 | { | 315 | { |
322 | screens[i].backlight_on(); | 316 | screens[i].backlight_on(); |
323 | } | 317 | } |
324 | if (!early_usb) | 318 | viewportmanager_set_statusbar(old_bars); |
325 | { | 319 | send_event(GUI_EVENT_REFRESH, NULL); |
326 | viewportmanager_set_statusbar(old_bars); | 320 | |
327 | send_event(GUI_EVENT_REFRESH, NULL); | ||
328 | } | ||
329 | } | 321 | } |
330 | #endif /* !defined(USB_NONE) */ | 322 | #endif /* !defined(USB_NONE) */ |
331 | 323 | ||