summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-05-13 11:36:09 +0100
committerCarl Hetherington <cth@carlh.net>2019-05-13 11:36:09 +0100
commit5de2fd90b92829cea8ab297c6fce81c582332cb7 (patch)
tree20e3f27fd3a254c21c0028d272e6844e660bc0b6 /src
parentcb0a41355327f0308e5b56c21bff1d1ac004a9cb (diff)
Build fixes related to simple/GL view.
Diffstat (limited to 'src')
-rw-r--r--src/tools/dcpomatic_ecinema.cc2
-rw-r--r--src/wx/film_viewer.cc23
-rw-r--r--src/wx/film_viewer.h13
-rw-r--r--src/wx/simple_video_view.cc28
-rw-r--r--src/wx/video_view.h9
5 files changed, 36 insertions, 39 deletions
diff --git a/src/tools/dcpomatic_ecinema.cc b/src/tools/dcpomatic_ecinema.cc
index bcd090726..a3f2288e3 100644
--- a/src/tools/dcpomatic_ecinema.cc
+++ b/src/tools/dcpomatic_ecinema.cc
@@ -181,6 +181,6 @@ main (int argc, char* argv[])
avformat_free_context (output_fc);
DecryptedECinemaKDM decrypted_kdm (key);
- EncryptedECinemaKDM encrypted_kdm = decrypted_kdm.encrypt (Config::instance()->decryption_chain());
+ EncryptedECinemaKDM encrypted_kdm = decrypted_kdm.encrypt (Config::instance()->decryption_chain()->leaf());
cout << encrypted_kdm.as_xml() << "\n";
}
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index 973189178..7994601ea 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -91,7 +91,6 @@ FilmViewer::FilmViewer (wxWindow* p)
, _eyes (EYES_LEFT)
, _pad_black (false)
#ifdef DCPOMATIC_VARIANT_SWAROOP
- , _in_watermark (false)
, _background_image (false)
#endif
, _state_timer ("viewer")
@@ -325,28 +324,6 @@ FilmViewer::timer ()
}
}
-bool
-#ifdef DCPOMATIC_VARIANT_SWAROOP
-XXX
-FilmViewer::maybe_draw_background_image (wxPaintDC& dc)
-{
- 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));
- return true;
- }
-
- return false;
-}
-#else
-FilmViewer::maybe_draw_background_image (wxPaintDC &)
-{
- return false;
-}
-#endif
-
void
FilmViewer::set_outline_content (bool o)
{
diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h
index 450111bc4..e9450c7e7 100644
--- a/src/wx/film_viewer.h
+++ b/src/wx/film_viewer.h
@@ -93,7 +93,11 @@ public:
#ifdef DCPOMATIC_VARIANT_SWAROOP
void set_background_image (bool b) {
_background_image = b;
- refresh_panel ();
+ refresh_view ();
+ }
+
+ bool background_image () const {
+ return _background_image;
}
#endif
@@ -125,6 +129,9 @@ public:
bool pad_black () const {
return _pad_black;
}
+ dcpomatic::DCPTime video_position () const {
+ return _video_position;
+ }
boost::signals2::signal<void (boost::weak_ptr<PlayerVideo>)> ImageChanged;
boost::signals2::signal<void ()> PositionChanged;
@@ -145,7 +152,6 @@ private:
void film_change (ChangeType, Film::Property);
void recreate_butler ();
void config_changed (Config::Property);
- bool maybe_draw_background_image (wxPaintDC& dc);
dcpomatic::DCPTime time () const;
dcpomatic::DCPTime uncorrected_time () const;
@@ -194,9 +200,6 @@ private:
bool _pad_black;
#ifdef DCPOMATIC_VARIANT_SWAROOP
- bool _in_watermark;
- int _watermark_x;
- int _watermark_y;
bool _background_image;
#endif
diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc
index 0a0fce277..66af8f19f 100644
--- a/src/wx/simple_video_view.cc
+++ b/src/wx/simple_video_view.cc
@@ -20,12 +20,16 @@
#include "simple_video_view.h"
#include "film_viewer.h"
+#include "wx_util.h"
#include "lib/image.h"
#include <dcp/util.h>
#include <wx/wx.h>
#include <boost/bind.hpp>
using std::max;
+using std::string;
+using boost::optional;
+using namespace dcpomatic;
SimpleVideoView::SimpleVideoView (FilmViewer* viewer, wxWindow* parent)
: VideoView (viewer)
@@ -49,17 +53,22 @@ SimpleVideoView::paint ()
_viewer->state_timer().set("paint-panel");
wxPaintDC dc (_panel);
+ dcp::Size const out_size = _viewer->out_size ();
+ wxSize const panel_size = _panel->GetSize ();
+
#ifdef DCPOMATIC_VARIANT_SWAROOP
- if (viewer->background_image()) {
+ if (_viewer->background_image()) {
dc.Clear ();
- maybe_draw_background_image (dc);
+ 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.GetWidth() - image.GetSize().GetWidth()) / 2), max(0, (panel_size.GetHeight() - image.GetSize().GetHeight()) / 2));
+ }
return;
}
#endif
- dcp::Size const out_size = _viewer->out_size ();
- wxSize const panel_size = _panel->GetSize ();
-
if (!out_size.width || !out_size.height || !_image || out_size != _image->size()) {
dc.Clear ();
} else {
@@ -69,16 +78,15 @@ SimpleVideoView::paint ()
dc.DrawBitmap (frame_bitmap, 0, max(0, (panel_size.GetHeight() - out_size.height) / 2));
#ifdef DCPOMATIC_VARIANT_SWAROOP
- XXX
DCPTime const period = DCPTime::from_seconds(Config::instance()->player_watermark_period() * 60);
- int64_t n = _video_position.get() / period.get();
+ int64_t n = _viewer->video_position().get() / period.get();
DCPTime from(n * period.get());
DCPTime to = from + DCPTime::from_seconds(Config::instance()->player_watermark_duration() / 1000.0);
- if (from <= _video_position && _video_position <= to) {
+ if (from <= _viewer->video_position() && _viewer->video_position() <= to) {
if (!_in_watermark) {
_in_watermark = true;
- _watermark_x = rand() % _panel_size.width;
- _watermark_y = rand() % _panel_size.height;
+ _watermark_x = rand() % panel_size.GetWidth();
+ _watermark_y = rand() % panel_size.GetHeight();
}
dc.SetTextForeground(*wxWHITE);
string wm = Config::instance()->player_watermark_theatre();
diff --git a/src/wx/video_view.h b/src/wx/video_view.h
index af6655ec4..892ffab12 100644
--- a/src/wx/video_view.h
+++ b/src/wx/video_view.h
@@ -33,6 +33,9 @@ class VideoView
public:
VideoView (FilmViewer* viewer)
: _viewer (viewer)
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ , _in_watermark (false)
+#endif
{}
virtual ~VideoView () {}
@@ -45,6 +48,12 @@ public:
protected:
FilmViewer* _viewer;
+
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ bool _in_watermark;
+ int _watermark_x;
+ int _watermark_y;
+#endif
};
#endif