diff options
Diffstat (limited to 'apps/gui')
-rw-r--r-- | apps/gui/splash.c | 20 | ||||
-rw-r--r-- | apps/gui/viewport.c | 13 |
2 files changed, 10 insertions, 23 deletions
diff --git a/apps/gui/splash.c b/apps/gui/splash.c index 10a6885f92..aaa259c09d 100644 --- a/apps/gui/splash.c +++ b/apps/gui/splash.c | |||
@@ -48,7 +48,6 @@ | |||
48 | static void splash_internal(struct screen * screen, const char *fmt, va_list ap) | 48 | static void splash_internal(struct screen * screen, const char *fmt, va_list ap) |
49 | { | 49 | { |
50 | char splash_buf[MAXBUFFER]; | 50 | char splash_buf[MAXBUFFER]; |
51 | short widths[MAXLINES]; | ||
52 | char *lines[MAXLINES]; | 51 | char *lines[MAXLINES]; |
53 | 52 | ||
54 | char *next; | 53 | char *next; |
@@ -95,7 +94,6 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) | |||
95 | if (x + (next - lastbreak) * space_w + w | 94 | if (x + (next - lastbreak) * space_w + w |
96 | > screen->lcdwidth - RECT_SPACING*2) | 95 | > screen->lcdwidth - RECT_SPACING*2) |
97 | { /* too wide, wrap */ | 96 | { /* too wide, wrap */ |
98 | widths[line] = x; | ||
99 | #ifdef HAVE_LCD_BITMAP | 97 | #ifdef HAVE_LCD_BITMAP |
100 | if (x > maxw) | 98 | if (x > maxw) |
101 | maxw = x; | 99 | maxw = x; |
@@ -118,7 +116,6 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) | |||
118 | next = strtok_r(NULL, " ", &store); | 116 | next = strtok_r(NULL, " ", &store); |
119 | if (!next) | 117 | if (!next) |
120 | { /* no more words */ | 118 | { /* no more words */ |
121 | widths[line] = x; | ||
122 | #ifdef HAVE_LCD_BITMAP | 119 | #ifdef HAVE_LCD_BITMAP |
123 | if (x > maxw) | 120 | if (x > maxw) |
124 | maxw = x; | 121 | maxw = x; |
@@ -149,7 +146,8 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) | |||
149 | vp.width = screen->lcdwidth; | 146 | vp.width = screen->lcdwidth; |
150 | if (vp.height > screen->lcdheight) | 147 | if (vp.height > screen->lcdheight) |
151 | vp.height = screen->lcdheight; | 148 | vp.height = screen->lcdheight; |
152 | 149 | ||
150 | vp.flags |= VP_FLAG_CENTER_ALIGN; | ||
153 | #if LCD_DEPTH > 1 | 151 | #if LCD_DEPTH > 1 |
154 | if (screen->depth > 1) | 152 | if (screen->depth > 1) |
155 | { | 153 | { |
@@ -179,7 +177,6 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) | |||
179 | y = RECT_SPACING; | 177 | y = RECT_SPACING; |
180 | #else /* HAVE_LCD_CHARCELLS */ | 178 | #else /* HAVE_LCD_CHARCELLS */ |
181 | y = 0; /* vertical centering on 2 lines would be silly */ | 179 | y = 0; /* vertical centering on 2 lines would be silly */ |
182 | x = 0; | ||
183 | screen->clear_display(); | 180 | screen->clear_display(); |
184 | #endif | 181 | #endif |
185 | 182 | ||
@@ -187,19 +184,10 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) | |||
187 | for (i = 0; i <= line; i++, y+=h) | 184 | for (i = 0; i <= line; i++, y+=h) |
188 | { | 185 | { |
189 | #ifdef HAVE_LCD_BITMAP | 186 | #ifdef HAVE_LCD_BITMAP |
190 | #define W (vp.width - RECT_SPACING*2) | 187 | screen->putsxy(0, y, lines[i]); |
191 | #else | ||
192 | #define W (screens->lcdwidth) | ||
193 | #endif | ||
194 | x = (W - widths[i])/2; | ||
195 | if (x < 0) | ||
196 | x = 0; | ||
197 | #ifdef HAVE_LCD_BITMAP | ||
198 | screen->putsxy(x+RECT_SPACING, y, lines[i]); | ||
199 | #else | 188 | #else |
200 | screen->puts(x, y, lines[i]); | 189 | screen->puts(0, y, lines[i]); |
201 | #endif | 190 | #endif |
202 | #undef W | ||
203 | } | 191 | } |
204 | screen->update_viewport(); | 192 | screen->update_viewport(); |
205 | end: | 193 | end: |
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c index 6f9abb74a0..d5f45b3382 100644 --- a/apps/gui/viewport.c +++ b/apps/gui/viewport.c | |||
@@ -62,7 +62,7 @@ | |||
62 | static int statusbar_enabled = 0; | 62 | static int statusbar_enabled = 0; |
63 | 63 | ||
64 | #ifdef HAVE_LCD_BITMAP | 64 | #ifdef HAVE_LCD_BITMAP |
65 | static void viewport_rtl_handler(struct viewport *vp); | 65 | static void set_default_align_flags(struct viewport *vp); |
66 | 66 | ||
67 | static struct { | 67 | static struct { |
68 | struct viewport* vp; | 68 | struct viewport* vp; |
@@ -109,7 +109,7 @@ void viewport_set_fullscreen(struct viewport *vp, | |||
109 | vp->width = screens[screen].lcdwidth; | 109 | vp->width = screens[screen].lcdwidth; |
110 | 110 | ||
111 | #ifdef HAVE_LCD_BITMAP | 111 | #ifdef HAVE_LCD_BITMAP |
112 | viewport_rtl_handler(vp); | 112 | set_default_align_flags(vp); |
113 | vp->drawmode = DRMODE_SOLID; | 113 | vp->drawmode = DRMODE_SOLID; |
114 | vp->font = FONT_UI; /* default to UI to discourage SYSFONT use */ | 114 | vp->font = FONT_UI; /* default to UI to discourage SYSFONT use */ |
115 | 115 | ||
@@ -245,7 +245,7 @@ void viewportmanager_theme_changed(const int which) | |||
245 | else if (which & THEME_LANGUAGE) | 245 | else if (which & THEME_LANGUAGE) |
246 | { /* THEME_UI_VIEWPORT handles rtl already */ | 246 | { /* THEME_UI_VIEWPORT handles rtl already */ |
247 | FOR_NB_SCREENS(i) | 247 | FOR_NB_SCREENS(i) |
248 | viewport_rtl_handler(&custom_vp[i]); | 248 | set_default_align_flags(&custom_vp[i]); |
249 | } | 249 | } |
250 | if (which & THEME_STATUSBAR) | 250 | if (which & THEME_STATUSBAR) |
251 | { | 251 | { |
@@ -364,14 +364,13 @@ bool viewport_point_within_vp(const struct viewport *vp, | |||
364 | 364 | ||
365 | #ifdef HAVE_LCD_BITMAP | 365 | #ifdef HAVE_LCD_BITMAP |
366 | 366 | ||
367 | static void viewport_rtl_handler(struct viewport *vp) | 367 | static void set_default_align_flags(struct viewport *vp) |
368 | { | 368 | { |
369 | vp->flags &= ~VP_FLAG_ALIGNMENT_MASK; | ||
369 | #ifndef __PCTOOL__ | 370 | #ifndef __PCTOOL__ |
370 | if (UNLIKELY(lang_is_rtl())) | 371 | if (UNLIKELY(lang_is_rtl())) |
371 | vp->flags |= VP_FLAG_IS_RTL; | 372 | vp->flags |= VP_FLAG_IS_RTL; |
372 | else | ||
373 | #endif | 373 | #endif |
374 | vp->flags &= ~VP_FLAG_IS_RTL; | ||
375 | } | 374 | } |
376 | 375 | ||
377 | const char* viewport_parse_viewport(struct viewport *vp, | 376 | const char* viewport_parse_viewport(struct viewport *vp, |
@@ -456,7 +455,7 @@ const char* viewport_parse_viewport(struct viewport *vp, | |||
456 | 455 | ||
457 | /* Set the defaults for fields not user-specified */ | 456 | /* Set the defaults for fields not user-specified */ |
458 | vp->drawmode = DRMODE_SOLID; | 457 | vp->drawmode = DRMODE_SOLID; |
459 | viewport_rtl_handler(vp); | 458 | set_default_align_flags(vp); |
460 | 459 | ||
461 | return ptr; | 460 | return ptr; |
462 | } | 461 | } |