, _pad_black (false)
#ifdef DCPOMATIC_VARIANT_SWAROOP
, _in_watermark (false)
+ , _background_image (false)
#endif
{
#ifndef __WXOSX__
if (_dcp_decode_reduction) {
_player->set_dcp_decode_reduction (_dcp_decode_reduction);
}
- } catch (bad_alloc) {
+ } catch (bad_alloc &) {
error_dialog (_panel, _("There is not enough free memory to do that."));
_film.reset ();
return;
}
bool
+#ifdef DCPOMATIC_VARIANT_SWAROOP
FilmViewer::maybe_draw_background_image (wxPaintDC& dc)
{
-#ifdef DCPOMATIC_VARIANT_SWAROOP
optional<boost::filesystem::path> bg = Config::instance()->player_background_image();
if (bg) {
wxImage image (std_to_wx(bg->string()));
dc.DrawBitmap (bitmap, max(0, (_panel_size.width - image.GetSize().GetWidth()) / 2), max(0, (_panel_size.height - image.GetSize().GetHeight()) / 2));
return true;
}
-#endif
return false;
}
+#else
+FilmViewer::maybe_draw_background_image (wxPaintDC &)
+{
+ return false;
+}
+#endif
void
FilmViewer::paint_panel ()
{
wxPaintDC dc (_panel);
- if (!_frame || !_film || !_out_size.width || !_out_size.height || _out_size != _frame->size()) {
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ if (_background_image) {
dc.Clear ();
maybe_draw_background_image (dc);
return;
}
+#endif
- if (_video_position == DCPTime() && maybe_draw_background_image (dc)) {
+ if (!_out_size.width || !_out_size.height || !_film || !_frame || _out_size != _frame->size()) {
+ dc.Clear ();
return;
}