diff options
Diffstat (limited to 'apps/wps-display.c')
-rw-r--r-- | apps/wps-display.c | 72 |
1 files changed, 37 insertions, 35 deletions
diff --git a/apps/wps-display.c b/apps/wps-display.c index 0a988566b8..4ea2a0bed2 100644 --- a/apps/wps-display.c +++ b/apps/wps-display.c | |||
@@ -662,50 +662,52 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, unsigned char refresh_mo | |||
662 | format_display(buf, sizeof(buf), id3, format_lines[i], &flags); | 662 | format_display(buf, sizeof(buf), id3, format_lines[i], &flags); |
663 | line_type[i] = flags; | 663 | line_type[i] = flags; |
664 | 664 | ||
665 | #ifdef HAVE_LCD_BITMAP | ||
665 | /* progress */ | 666 | /* progress */ |
666 | if (flags & refresh_mode & WPS_REFRESH_PLAYER_PROGRESS) { | 667 | if (flags & refresh_mode & WPS_REFRESH_PLAYER_PROGRESS) { |
667 | #ifdef HAVE_LCD_CHARCELLS | ||
668 | draw_player_progress(id3, ff_rewind_count); | ||
669 | #else | ||
670 | int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0; | 668 | int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0; |
671 | slidebar(0, i*h + offset + 1, LCD_WIDTH, 6, | 669 | slidebar(0, i*h + offset + 1, LCD_WIDTH, 6, |
672 | (id3->elapsed + ff_rewind_count) * 100 / id3->length, | 670 | (id3->elapsed + ff_rewind_count) * 100 / id3->length, |
673 | Grow_Right); | 671 | Grow_Right); |
674 | #endif | ||
675 | update_line = true; | 672 | update_line = true; |
676 | } else | 673 | } else if (flags & refresh_mode & WPS_REFRESH_PEAK_METER) { |
677 | 674 | /* peak meter */ | |
678 | #ifdef HAVE_LCD_BITMAP | 675 | int peak_meter_y; |
679 | /* peak meter */ | 676 | int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0; |
680 | if (flags & refresh_mode & WPS_REFRESH_PEAK_METER) { | 677 | |
681 | int peak_meter_y; | 678 | update_line = true; |
682 | int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0; | 679 | peak_meter_y = i * h + offset; |
683 | 680 | ||
684 | update_line = true; | 681 | /* The user might decide to have the peak meter in the last |
685 | peak_meter_y = i * h + offset; | 682 | line so that it is only displayed if no status bar is |
686 | 683 | visible. If so we neither want do draw nor enable the | |
687 | /* The user might decide to have the peak meter in the last | 684 | peak meter. */ |
688 | line so that it is only displayed if no status bar is | 685 | if (peak_meter_y + h <= LCD_HEIGHT) { |
689 | visible. If so we neither want do draw nor enable the | 686 | /* found a line with a peak meter -> remember that we must |
690 | peak meter. */ | 687 | enable it later */ |
691 | if (peak_meter_y + h <= LCD_HEIGHT) { | 688 | enable_pm = true; |
692 | /* found a line with a peak meter -> remember that we must | 689 | peak_meter_draw(0, peak_meter_y, LCD_WIDTH, |
693 | enable it later */ | 690 | MIN(h, LCD_HEIGHT - peak_meter_y)); |
694 | enable_pm = true; | 691 | } |
695 | peak_meter_draw(0, peak_meter_y, LCD_WIDTH, | 692 | } else if (flags & WPS_REFRESH_SCROLL) { |
696 | MIN(h, LCD_HEIGHT - peak_meter_y)); | 693 | /* scroll line */ |
697 | } | 694 | if (refresh_mode & WPS_REFRESH_SCROLL) { |
698 | } else | 695 | lcd_puts_scroll(0, i, buf); |
699 | #endif | ||
700 | |||
701 | /* scroll line */ | ||
702 | if (flags & WPS_REFRESH_SCROLL) | ||
703 | { | ||
704 | if (refresh_mode & WPS_REFRESH_SCROLL) | ||
705 | { | ||
706 | lcd_puts_scroll(0, i, buf); | ||
707 | } | 696 | } |
708 | } | 697 | } |
698 | #else | ||
699 | /* progress */ | ||
700 | if (flags & refresh_mode & WPS_REFRESH_PLAYER_PROGRESS) { | ||
701 | draw_player_progress(id3, ff_rewind_count); | ||
702 | } | ||
703 | if (flags & WPS_REFRESH_SCROLL) { | ||
704 | /* scroll line */ | ||
705 | if (refresh_mode & WPS_REFRESH_SCROLL) { | ||
706 | lcd_puts_scroll(0, i, buf); | ||
707 | } | ||
708 | flags=0; | ||
709 | } | ||
710 | #endif | ||
709 | 711 | ||
710 | /* dynamic / static line */ | 712 | /* dynamic / static line */ |
711 | if ((flags & refresh_mode & WPS_REFRESH_DYNAMIC) || | 713 | if ((flags & refresh_mode & WPS_REFRESH_DYNAMIC) || |