diff options
-rw-r--r-- | apps/recorder/icons.c | 36 | ||||
-rw-r--r-- | apps/recorder/icons.h | 4 |
2 files changed, 35 insertions, 5 deletions
diff --git a/apps/recorder/icons.c b/apps/recorder/icons.c index e094a12400..bac719e0f1 100644 --- a/apps/recorder/icons.c +++ b/apps/recorder/icons.c | |||
@@ -209,6 +209,10 @@ void statusbar_icon_volume(int percent) | |||
209 | int volume; | 209 | int volume; |
210 | int step=0; | 210 | int step=0; |
211 | char buffer[4]; | 211 | char buffer[4]; |
212 | unsigned int width, height; | ||
213 | #if defined(LOADABLE_FONTS) | ||
214 | unsigned char *font; | ||
215 | #endif | ||
212 | static long switch_tick; | 216 | static long switch_tick; |
213 | static int last_volume; | 217 | static int last_volume; |
214 | 218 | ||
@@ -231,8 +235,19 @@ void statusbar_icon_volume(int percent) | |||
231 | /* display volume lever numerical? */ | 235 | /* display volume lever numerical? */ |
232 | if (TIME_BEFORE(current_tick,switch_tick)) { | 236 | if (TIME_BEFORE(current_tick,switch_tick)) { |
233 | snprintf(buffer, sizeof(buffer), "%2d", percent); | 237 | snprintf(buffer, sizeof(buffer), "%2d", percent); |
234 | lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 - | 238 | #if defined(LCD_PROPFONTS) |
235 | 6*strlen(buffer)/2, STATUSBAR_Y_POS, buffer, 0); | 239 | lcd_getstringsize(buffer, 0, &width, &height); |
240 | width += strlen(buffer) - 1; | ||
241 | #elif defined(LOADABLE_FONTS) | ||
242 | font = lcd_getcurrentldfont(); | ||
243 | lcd_getstringsize(buffer, font, &width, &height); | ||
244 | #else | ||
245 | width = 6*strlen(buffer); | ||
246 | height = 8; | ||
247 | #endif | ||
248 | if (height <= STATUSBAR_HEIGHT) | ||
249 | lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 - | ||
250 | width/2, STATUSBAR_Y_POS, buffer, 0); | ||
236 | } | 251 | } |
237 | else { /* display volume bar */ | 252 | else { /* display volume bar */ |
238 | volume = volume * 14 / 100; | 253 | volume = volume * 14 / 100; |
@@ -290,6 +305,10 @@ void statusbar_time(void) | |||
290 | { | 305 | { |
291 | int hour,minute; | 306 | int hour,minute; |
292 | unsigned char buffer[6]; | 307 | unsigned char buffer[6]; |
308 | unsigned int width, height; | ||
309 | #if defined(LOADABLE_FONTS) | ||
310 | unsigned char *font; | ||
311 | #endif | ||
293 | 312 | ||
294 | hour = rtc_read(0x03); | 313 | hour = rtc_read(0x03); |
295 | minute = rtc_read(0x02); | 314 | minute = rtc_read(0x02); |
@@ -299,6 +318,17 @@ void statusbar_time(void) | |||
299 | hour & 0x0f, | 318 | hour & 0x0f, |
300 | (minute & 0xf0) >> 4, | 319 | (minute & 0xf0) >> 4, |
301 | minute & 0x0f); | 320 | minute & 0x0f); |
302 | lcd_putsxy(TIME_X_POS, STATUSBAR_Y_POS, buffer, 0); | 321 | #if defined(LCD_PROPFONTS) |
322 | lcd_getstringsize(buffer, 0, &width, &height); | ||
323 | width += strlen(buffer) - 1; | ||
324 | #elif defined(LOADABLE_FONTS) | ||
325 | font = lcd_getcurrentldfont(); | ||
326 | lcd_getstringsize(buffer, font, &width, &height); | ||
327 | #else | ||
328 | width = 6*strlen(buffer); | ||
329 | height = 8; | ||
330 | #endif | ||
331 | if (height <= STATUSBAR_HEIGHT) | ||
332 | lcd_putsxy(TIME_X_END - width, STATUSBAR_Y_POS, buffer, 0); | ||
303 | } | 333 | } |
304 | #endif | 334 | #endif |
diff --git a/apps/recorder/icons.h b/apps/recorder/icons.h index da94c2269a..ff6a011b98 100644 --- a/apps/recorder/icons.h +++ b/apps/recorder/icons.h | |||
@@ -45,7 +45,7 @@ extern unsigned char slider_bar[]; | |||
45 | #define ICON_PLUG_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+2 | 45 | #define ICON_PLUG_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+2 |
46 | #define ICON_PLUG_WIDTH 7 | 46 | #define ICON_PLUG_WIDTH 7 |
47 | #define ICON_VOLUME_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+2+2 | 47 | #define ICON_VOLUME_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+2+2 |
48 | #define ICON_VOLUME_WIDTH 14 | 48 | #define ICON_VOLUME_WIDTH 16 |
49 | #define ICON_PLAY_STATE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+2+2+2 | 49 | #define ICON_PLAY_STATE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+2+2+2 |
50 | #define ICON_PLAY_STATE_WIDTH 7 | 50 | #define ICON_PLAY_STATE_WIDTH 7 |
51 | #define ICON_PLAY_MODE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+2+2+2+2 | 51 | #define ICON_PLAY_MODE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+2+2+2+2 |
@@ -54,7 +54,7 @@ extern unsigned char slider_bar[]; | |||
54 | #define ICON_SHUFFLE_WIDTH 7 | 54 | #define ICON_SHUFFLE_WIDTH 7 |
55 | #define LOCK_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+ICON_PLAY_MODE_WIDTH+ICON_SHUFFLE_WIDTH+2+2+2+2+2+2 | 55 | #define LOCK_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+ICON_PLAY_MODE_WIDTH+ICON_SHUFFLE_WIDTH+2+2+2+2+2+2 |
56 | #define LOCK_WIDTH 5 | 56 | #define LOCK_WIDTH 5 |
57 | #define TIME_X_POS STATUSBAR_WIDTH-5*6-1 | 57 | #define TIME_X_END STATUSBAR_WIDTH-1 |
58 | 58 | ||
59 | /* Symbolic names for icons */ | 59 | /* Symbolic names for icons */ |
60 | enum | 60 | enum |