summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wx/film_viewer.cc7
-rw-r--r--src/wx/film_viewer.h8
-rw-r--r--src/wx/swaroop_controls.cc5
3 files changed, 17 insertions, 3 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index dd088db20..7a0f1b5b4 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -89,6 +89,7 @@ FilmViewer::FilmViewer (wxWindow* p)
, _pad_black (false)
#ifdef DCPOMATIC_VARIANT_SWAROOP
, _in_watermark (false)
+ , _background_image (false)
#endif
{
#ifndef __WXOSX__
@@ -330,14 +331,14 @@ FilmViewer::paint_panel ()
{
wxPaintDC dc (_panel);
- if (!_out_size.width || !_out_size.height || !_frame || _out_size != _frame->size()) {
+ if (_background_image) {
dc.Clear ();
+ maybe_draw_background_image (dc);
return;
}
- if (!_film) {
+ if (!_out_size.width || !_out_size.height || !_film || !_frame || _out_size != _frame->size()) {
dc.Clear ();
- maybe_draw_background_image (dc);
return;
}
diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h
index 123172ad2..972a88a5a 100644
--- a/src/wx/film_viewer.h
+++ b/src/wx/film_viewer.h
@@ -88,6 +88,13 @@ public:
int audio_callback (void* out, unsigned int frames);
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ void set_background_image (bool b) {
+ _background_image = b;
+ refresh_panel ();
+ }
+#endif
+
boost::signals2::signal<void (boost::weak_ptr<PlayerVideo>)> ImageChanged;
boost::signals2::signal<void ()> PositionChanged;
boost::signals2::signal<void (DCPTime)> Started;
@@ -164,6 +171,7 @@ private:
bool _in_watermark;
int _watermark_x;
int _watermark_y;
+ bool _background_image;
#endif
boost::signals2::scoped_connection _config_changed_connection;
diff --git a/src/wx/swaroop_controls.cc b/src/wx/swaroop_controls.cc
index d16f36132..aa3a095ec 100644
--- a/src/wx/swaroop_controls.cc
+++ b/src/wx/swaroop_controls.cc
@@ -118,6 +118,8 @@ SwaroopControls::SwaroopControls (wxWindow* parent, shared_ptr<FilmViewer> viewe
_content_view->update ();
update_playlist_directory ();
+
+ _viewer->set_background_image (true);
}
void
@@ -169,6 +171,7 @@ SwaroopControls::started ()
Controls::started ();
_play_button->Enable (false);
_pause_button->Enable (true);
+ _viewer->set_background_image (false);
}
void
@@ -214,6 +217,7 @@ SwaroopControls::stop_clicked ()
_selected_playlist_position = 0;
update_current_content ();
}
+ _viewer->set_background_image (true);
}
bool
@@ -511,6 +515,7 @@ SwaroopControls::viewer_finished ()
}
} else {
_selected_playlist_position = 0;
+ _viewer->set_background_image (true);
ResetFilm (shared_ptr<Film>(new Film(optional<boost::filesystem::path>())));
}
}