summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/mpegplayer.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-05-28 10:17:16 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-05-28 10:17:16 +0000
commitadf2e4c9a012fda200431c92cb2c1707dbe2f0a3 (patch)
tree3a2755b05f9e2092d5bff458929b825c955c66f1 /apps/plugins/mpegplayer/mpegplayer.c
parentb57b779fbced4a3fc1ecd0799a7666c2f1645f17 (diff)
downloadrockbox-adf2e4c9a012fda200431c92cb2c1707dbe2f0a3.tar.gz
rockbox-adf2e4c9a012fda200431c92cb2c1707dbe2f0a3.zip
Targets with HAVE_LCD_ENABLE: Provide a means to receive notifications when the lcd is enabled and the image is refreshed so overlayed drawing can also be refreshed. Chiefly mpegplayer needs this so it can redraw the YUV data after the backlight is turned on while paused or when using 'Set Start Time'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17640 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/mpegplayer/mpegplayer.c')
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 5b92ccced1..42e0ddd5ad 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -587,13 +587,27 @@ static void draw_putsxy_oriented(int x, int y, const char *str)
587} 587}
588#endif /* LCD_PORTRAIT */ 588#endif /* LCD_PORTRAIT */
589 589
590#ifdef HAVE_LCD_ENABLE
591/* So we can refresh the overlay */
592static void wvs_lcd_enable_hook(void)
593{
594 rb->queue_post(rb->button_queue, LCD_ENABLE_EVENT_1, 0);
595}
596#endif
597
590static void wvs_backlight_on_video_mode(bool video_on) 598static void wvs_backlight_on_video_mode(bool video_on)
591{ 599{
592 if (video_on) { 600 if (video_on) {
593 /* Turn off backlight timeout */ 601 /* Turn off backlight timeout */
594 /* backlight control in lib/helper.c */ 602 /* backlight control in lib/helper.c */
595 backlight_force_on(rb); 603 backlight_force_on(rb);
604#ifdef HAVE_LCD_ENABLE
605 rb->lcd_set_enable_hook(NULL);
606#endif
596 } else { 607 } else {
608#ifdef HAVE_LCD_ENABLE
609 rb->lcd_set_enable_hook(wvs_lcd_enable_hook);
610#endif
597 /* Revert to user's backlight settings */ 611 /* Revert to user's backlight settings */
598 backlight_use_settings(rb); 612 backlight_use_settings(rb);
599 } 613 }
@@ -1441,6 +1455,15 @@ static void button_loop(void)
1441 continue; 1455 continue;
1442 } /* BUTTON_NONE: */ 1456 } /* BUTTON_NONE: */
1443 1457
1458#ifdef HAVE_LCD_ENABLE
1459 case LCD_ENABLE_EVENT_1:
1460 {
1461 /* Draw the current frame if prepared already */
1462 stream_draw_frame(true);
1463 break;
1464 } /* LCD_ENABLE_EVENT_1: */
1465#endif
1466
1444 case MPEG_VOLUP: 1467 case MPEG_VOLUP:
1445 case MPEG_VOLUP|BUTTON_REPEAT: 1468 case MPEG_VOLUP|BUTTON_REPEAT:
1446#ifdef MPEG_VOLUP2 1469#ifdef MPEG_VOLUP2