diff options
author | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-05-21 11:00:02 +0000 |
---|---|---|
committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-05-21 11:00:02 +0000 |
commit | 93b899d0fe3426ed50de06d20cdefb6d288e5ec2 (patch) | |
tree | 0dd0af26a5797a02f9a1f0139fde9fb60e1844bb /apps/gui/gwps.c | |
parent | 6ddb5f24294d68749e53c10a99ca09aca9f9f7eb (diff) | |
download | rockbox-93b899d0fe3426ed50de06d20cdefb6d288e5ec2.tar.gz rockbox-93b899d0fe3426ed50de06d20cdefb6d288e5ec2.zip |
Reworked backdrop handling. Fixes a bug that wasn't in the tracker yet ;)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9970 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/gwps.c')
-rw-r--r-- | apps/gui/gwps.c | 55 |
1 files changed, 16 insertions, 39 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index b84027c61c..d7a27e8eb9 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -105,18 +105,8 @@ long gui_wps_show(void) | |||
105 | gui_wps_set_margin(&gui_wps[i]); | 105 | gui_wps_set_margin(&gui_wps[i]); |
106 | } | 106 | } |
107 | #ifdef HAVE_LCD_COLOR | 107 | #ifdef HAVE_LCD_COLOR |
108 | gui_wps[SCREEN_MAIN].data->old_backdrop = lcd_get_backdrop(); | 108 | show_wps_backdrop(); |
109 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | 109 | #endif /* HAVE_LCD_COLOR */ |
110 | { | ||
111 | lcd_set_backdrop(&wps_backdrop[0][0]); | ||
112 | } | ||
113 | else | ||
114 | { | ||
115 | /* wps has no backdrop, so clear it in case we're switching wps */ | ||
116 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | ||
117 | } | ||
118 | |||
119 | #endif | ||
120 | #endif | 110 | #endif |
121 | 111 | ||
122 | #ifdef AB_REPEAT_ENABLE | 112 | #ifdef AB_REPEAT_ENABLE |
@@ -241,12 +231,11 @@ long gui_wps_show(void) | |||
241 | case WPS_RC_CONTEXT: | 231 | case WPS_RC_CONTEXT: |
242 | #endif | 232 | #endif |
243 | #ifdef HAVE_LCD_COLOR | 233 | #ifdef HAVE_LCD_COLOR |
244 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | 234 | show_main_backdrop(); |
245 | #endif | 235 | #endif |
246 | onplay(wps_state.id3->path, TREE_ATTR_MPA, CONTEXT_WPS); | 236 | onplay(wps_state.id3->path, TREE_ATTR_MPA, CONTEXT_WPS); |
247 | #ifdef HAVE_LCD_COLOR | 237 | #ifdef HAVE_LCD_COLOR |
248 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | 238 | show_wps_backdrop(); |
249 | lcd_set_backdrop(&wps_backdrop[0][0]); | ||
250 | #endif | 239 | #endif |
251 | #ifdef HAVE_LCD_BITMAP | 240 | #ifdef HAVE_LCD_BITMAP |
252 | FOR_NB_SCREENS(i) | 241 | FOR_NB_SCREENS(i) |
@@ -557,16 +546,12 @@ long gui_wps_show(void) | |||
557 | gui_wps[i].display->stop_scroll(); | 546 | gui_wps[i].display->stop_scroll(); |
558 | 547 | ||
559 | #ifdef HAVE_LCD_COLOR | 548 | #ifdef HAVE_LCD_COLOR |
560 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | 549 | show_main_backdrop(); |
561 | #endif | 550 | #endif |
562 | if (main_menu()) | 551 | if (main_menu()) |
563 | return true; | 552 | return true; |
564 | #ifdef HAVE_LCD_COLOR | 553 | #ifdef HAVE_LCD_COLOR |
565 | if(global_settings.backdrop_file[0] == 0) | 554 | show_wps_backdrop(); |
566 | gui_wps[SCREEN_MAIN].data->old_backdrop = NULL; | ||
567 | |||
568 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | ||
569 | lcd_set_backdrop(&wps_backdrop[0][0]); | ||
570 | #endif | 555 | #endif |
571 | #ifdef HAVE_LCD_BITMAP | 556 | #ifdef HAVE_LCD_BITMAP |
572 | FOR_NB_SCREENS(i) | 557 | FOR_NB_SCREENS(i) |
@@ -596,13 +581,12 @@ long gui_wps_show(void) | |||
596 | case WPS_RC_QUICK: | 581 | case WPS_RC_QUICK: |
597 | #endif | 582 | #endif |
598 | #ifdef HAVE_LCD_COLOR | 583 | #ifdef HAVE_LCD_COLOR |
599 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | 584 | show_main_backdrop(); |
600 | #endif | 585 | #endif |
601 | if (quick_screen_quick(button)) | 586 | if (quick_screen_quick(button)) |
602 | return SYS_USB_CONNECTED; | 587 | return SYS_USB_CONNECTED; |
603 | #ifdef HAVE_LCD_COLOR | 588 | #ifdef HAVE_LCD_COLOR |
604 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | 589 | show_wps_backdrop(); |
605 | lcd_set_backdrop(&wps_backdrop[0][0]); | ||
606 | #endif | 590 | #endif |
607 | #ifdef HAVE_LCD_BITMAP | 591 | #ifdef HAVE_LCD_BITMAP |
608 | FOR_NB_SCREENS(i) | 592 | FOR_NB_SCREENS(i) |
@@ -629,13 +613,12 @@ long gui_wps_show(void) | |||
629 | case BUTTON_ON | BUTTON_UP: | 613 | case BUTTON_ON | BUTTON_UP: |
630 | case BUTTON_ON | BUTTON_DOWN: | 614 | case BUTTON_ON | BUTTON_DOWN: |
631 | #ifdef HAVE_LCD_COLOR | 615 | #ifdef HAVE_LCD_COLOR |
632 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | 616 | show_main_backdrop(); |
633 | #endif | 617 | #endif |
634 | if (1 == pitch_screen()) | 618 | if (1 == pitch_screen()) |
635 | return SYS_USB_CONNECTED; | 619 | return SYS_USB_CONNECTED; |
636 | #ifdef HAVE_LCD_COLOR | 620 | #ifdef HAVE_LCD_COLOR |
637 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | 621 | show_wps_backdrop(); |
638 | lcd_set_backdrop(&wps_backdrop[0][0]); | ||
639 | #endif | 622 | #endif |
640 | restore = true; | 623 | restore = true; |
641 | break; | 624 | break; |
@@ -730,12 +713,11 @@ long gui_wps_show(void) | |||
730 | #ifdef WPS_ID3 | 713 | #ifdef WPS_ID3 |
731 | case WPS_ID3: | 714 | case WPS_ID3: |
732 | #ifdef HAVE_LCD_COLOR | 715 | #ifdef HAVE_LCD_COLOR |
733 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | 716 | show_main_backdrop(); |
734 | #endif | 717 | #endif |
735 | browse_id3(); | 718 | browse_id3(); |
736 | #ifdef HAVE_LCD_COLOR | 719 | #ifdef HAVE_LCD_COLOR |
737 | if (gui_wps[SCREEN_MAIN].data->has_backdrop) | 720 | show_wps_backdrop(); |
738 | lcd_set_backdrop(&wps_backdrop[0][0]); | ||
739 | #endif | 721 | #endif |
740 | #ifdef HAVE_LCD_BITMAP | 722 | #ifdef HAVE_LCD_BITMAP |
741 | FOR_NB_SCREENS(i) | 723 | FOR_NB_SCREENS(i) |
@@ -754,19 +736,14 @@ long gui_wps_show(void) | |||
754 | case SYS_POWEROFF: | 736 | case SYS_POWEROFF: |
755 | bookmark_autobookmark(); | 737 | bookmark_autobookmark(); |
756 | #ifdef HAVE_LCD_COLOR | 738 | #ifdef HAVE_LCD_COLOR |
757 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | 739 | show_main_backdrop(); |
758 | #endif | 740 | #endif |
759 | default_event_handler(SYS_POWEROFF); | 741 | default_event_handler(SYS_POWEROFF); |
760 | break; | 742 | break; |
761 | 743 | ||
762 | default: | 744 | default: |
763 | if(default_event_handler(button) == SYS_USB_CONNECTED) | 745 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
764 | { | ||
765 | #ifdef HAVE_LCD_COLOR | ||
766 | lcd_set_backdrop(gui_wps[SCREEN_MAIN].data->old_backdrop); | ||
767 | #endif | ||
768 | return SYS_USB_CONNECTED; | 746 | return SYS_USB_CONNECTED; |
769 | } | ||
770 | update_track = true; | 747 | update_track = true; |
771 | break; | 748 | break; |
772 | } | 749 | } |
@@ -887,9 +864,6 @@ void wps_data_init(struct wps_data *wps_data) | |||
887 | wps_data->format_buffer[0] = '\0'; | 864 | wps_data->format_buffer[0] = '\0'; |
888 | wps_data->wps_loaded = false; | 865 | wps_data->wps_loaded = false; |
889 | wps_data->peak_meter_enabled = false; | 866 | wps_data->peak_meter_enabled = false; |
890 | #ifdef HAVE_LCD_COLOR | ||
891 | wps_data->has_backdrop = false; | ||
892 | #endif | ||
893 | } | 867 | } |
894 | 868 | ||
895 | static void wps_reset(struct wps_data *data) | 869 | static void wps_reset(struct wps_data *data) |
@@ -1075,4 +1049,7 @@ void gui_sync_wps_init(void) | |||
1075 | gui_wps_set_data(&gui_wps[i], &wps_datas[i]); | 1049 | gui_wps_set_data(&gui_wps[i], &wps_datas[i]); |
1076 | gui_wps_set_statusbar(&gui_wps[i], &statusbars.statusbars[i]); | 1050 | gui_wps_set_statusbar(&gui_wps[i], &statusbars.statusbars[i]); |
1077 | } | 1051 | } |
1052 | #ifdef HAVE_LCD_COLOR | ||
1053 | unload_wps_backdrop(); | ||
1054 | #endif | ||
1078 | } | 1055 | } |