summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
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}