SOUND_OUTPUT,
INTERFACE_COMPLEXITY,
PLAYER_DCP_DIRECTORY,
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ PLAYER_BACKGROUND_IMAGE,
+#endif
OTHER
};
#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 () {
return;
}
_player_background_image = boost::none;
- changed ();
+ changed (PLAYER_BACKGROUND_IMAGE);
}
#endif
if (!_frame || !_film || !_out_size.width || !_out_size.height || _out_size != _frame->size()) {
dc.Clear ();
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ optional<boost::filesystem::path> 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;
}
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;
}
_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
}