+ void view_full_screen ()
+ {
+ if (_screen == SCREEN_FULL) {
+ _screen = SCREEN_WINDOW;
+ } else {
+ _screen = SCREEN_FULL;
+ }
+ setup_screen ();
+ }
+
+ void view_dual_screen ()
+ {
+ if (_screen == SCREEN_DUAL) {
+ _screen = SCREEN_WINDOW;
+ } else {
+ _screen = SCREEN_DUAL;
+ }
+ setup_screen ();
+ }
+
+ void setup_screen ()
+ {
+ _controls->Show (_screen == SCREEN_WINDOW);
+ _info->Show (_screen == SCREEN_WINDOW);
+ _overall_panel->SetBackgroundColour (_screen == SCREEN_WINDOW ? wxNullColour : wxColour(0, 0, 0));
+ ShowFullScreen (_screen != SCREEN_WINDOW);
+ if (_screen == SCREEN_DUAL) {
+ _cinema_dialog->Show ();
+ if (wxDisplay::GetCount() > 1) {
+ this->Move (0, 0);
+ _cinema_dialog->Move (wxDisplay(0).GetClientArea().GetWidth(), 0);
+ }
+ }
+ }
+
+ void view_closed_captions ()
+ {
+ _viewer->show_closed_captions ();
+ }
+