summaryrefslogtreecommitdiff
path: root/apps/gui/gwps.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2006-05-21 11:00:02 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2006-05-21 11:00:02 +0000
commit93b899d0fe3426ed50de06d20cdefb6d288e5ec2 (patch)
tree0dd0af26a5797a02f9a1f0139fde9fb60e1844bb /apps/gui/gwps.c
parent6ddb5f24294d68749e53c10a99ca09aca9f9f7eb (diff)
downloadrockbox-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.c55
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
895static void wps_reset(struct wps_data *data) 869static 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}