summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-11-10 20:13:24 +0000
committerThomas Martitz <kugel@rockbox.org>2009-11-10 20:13:24 +0000
commitc5b4482ee2468c0e40da4441ddf429c890b5a291 (patch)
treef24461e5db3690c5b69caf48710f61c542c961f4 /apps/gui
parent422fcbe35d93d2ea35695b8f746e0652ee1796ad (diff)
downloadrockbox-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')
-rw-r--r--apps/gui/usb_screen.c34
-rw-r--r--apps/gui/usb_screen.h2
-rw-r--r--apps/gui/viewport.c5
3 files changed, 14 insertions, 27 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
131static void usb_screen_fix_viewports(struct screen *screen, 131static 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
185static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar, bool early_usb) 180static 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
248void gui_usb_screen_run(bool early_usb) 242void 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
diff --git a/apps/gui/usb_screen.h b/apps/gui/usb_screen.h
index cbf4d296a5..d601546520 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(bool early_usb); 24extern void gui_usb_screen_run(void);
25 25
26#endif 26#endif
27 27
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 063f59cec6..5f999df961 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -104,12 +104,7 @@ static bool showing_bars(enum screen_type screen)
104void viewportmanager_init(void) 104void viewportmanager_init(void)
105{ 105{
106#ifdef HAVE_LCD_BITMAP 106#ifdef HAVE_LCD_BITMAP
107 int retval, i;
108 add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, statusbar_toggled); 107 add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, statusbar_toggled);
109 retval = viewport_init_ui_vp();
110 FOR_NB_SCREENS(i)
111 ui_vp_info.active[i] = retval & BIT_N(i);
112 ui_vp_info.vp = custom_vp;
113#endif 108#endif
114 viewportmanager_set_statusbar(VP_SB_ALLSCREENS); 109 viewportmanager_set_statusbar(VP_SB_ALLSCREENS);
115} 110}