summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjell Ericson <kjell@haxx.se>2003-01-22 12:48:12 +0000
committerKjell Ericson <kjell@haxx.se>2003-01-22 12:48:12 +0000
commitfa2229559802f7066b55cc2ab0761c9e742658f7 (patch)
tree3bc62f20555a8a47ea509aea319e74c576ffc0f7
parent7f9d71363a8f7d179af2495746f3916cb8d020f7 (diff)
downloadrockbox-fa2229559802f7066b55cc2ab0761c9e742658f7.tar.gz
rockbox-fa2229559802f7066b55cc2ab0761c9e742658f7.zip
Fixed WPS-screen for player.
Debugging to be done by Mats Lidell. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3149 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/wps-display.c72
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) ||