From 2d48fee30e323dfea9cc331f881637d91ee0895a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 26 Sep 2018 22:17:11 +0100 Subject: [PATCH] Finish off background image support for swaroop variant. --- src/lib/config.h | 7 +++++-- src/wx/film_viewer.cc | 15 +++++++++++++++ src/wx/player_config_dialog.cc | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/lib/config.h b/src/lib/config.h index 04f521575..2ebfef84d 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -77,6 +77,9 @@ public: SOUND_OUTPUT, INTERFACE_COMPLEXITY, PLAYER_DCP_DIRECTORY, +#ifdef DCPOMATIC_VARIANT_SWAROOP + PLAYER_BACKGROUND_IMAGE, +#endif OTHER }; @@ -944,7 +947,7 @@ public: #ifdef DCPOMATIC_VARIANT_SWAROOP void set_player_background_image (boost::filesystem::path p) { - maybe_set (_player_background_image, p); + maybe_set (_player_background_image, p, PLAYER_BACKGROUND_IMAGE); } void unset_player_background_image () { @@ -952,7 +955,7 @@ public: return; } _player_background_image = boost::none; - changed (); + changed (PLAYER_BACKGROUND_IMAGE); } #endif diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index fd3bfa1c1..5a3e58724 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -312,6 +312,14 @@ FilmViewer::paint_panel () if (!_frame || !_film || !_out_size.width || !_out_size.height || _out_size != _frame->size()) { dc.Clear (); +#ifdef DCPOMATIC_VARIANT_SWAROOP + optional bg = Config::instance()->player_background_image(); + if (bg) { + wxImage image (std_to_wx(bg->string())); + wxBitmap bitmap (image); + dc.DrawBitmap (bitmap, max(0, (_panel_size.width - image.GetSize().GetWidth()) / 2), max(0, (_panel_size.height - image.GetSize().GetHeight()) / 2)); + } +#endif return; } @@ -562,6 +570,13 @@ FilmViewer::seek (DCPTime t, bool accurate) void FilmViewer::config_changed (Config::Property p) { +#ifdef DCPOMATIC_VARIANT_SWAROOP + if (p == Config::PLAYER_BACKGROUND_IMAGE) { + refresh_panel (); + return; + } +#endif + if (p != Config::SOUND && p != Config::SOUND_OUTPUT) { return; } diff --git a/src/wx/player_config_dialog.cc b/src/wx/player_config_dialog.cc index a24dbc880..768459e0a 100644 --- a/src/wx/player_config_dialog.cc +++ b/src/wx/player_config_dialog.cc @@ -134,7 +134,7 @@ private: _dcp_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&PlayerGeneralPage::dcp_directory_changed, this)); _kdm_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&PlayerGeneralPage::kdm_directory_changed, this)); #ifdef DCPOMATIC_VARIANT_SWAROOP - _background_image->Bind (wxEVT_DIRPICKER_CHANGED, bind(&PlayerGeneralPage::background_image_changed, this)); + _background_image->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::background_image_changed, this)); #endif } -- 2.30.2