From: Carl Hetherington Date: Wed, 20 Nov 2019 22:36:56 +0000 (+0100) Subject: Move _inter_position out of FilmViewer. X-Git-Tag: v2.15.40^2~19 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=79355249a27ead72bc2bcd0a84e7a280a3d9a826 Move _inter_position out of FilmViewer. --- diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h index 93a311981..5c2f7cb11 100644 --- a/src/wx/film_viewer.h +++ b/src/wx/film_viewer.h @@ -126,9 +126,6 @@ public: dcp::Size inter_size () const { return _inter_size; } - Position inter_position () const { - return _inter_position; - } bool outline_content () const { return _outline_content; } @@ -180,7 +177,6 @@ private: bool _coalesce_player_changes; std::list _pending_player_changes; - Position _inter_position; dcp::Size _inter_size; /** Size of our output (including padding if we have any) */ diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index 55c6cc969..93a53b411 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -140,7 +140,7 @@ GLVideoView::update () } void -GLVideoView::draw () +GLVideoView::draw (Position inter_position) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); check_gl_error ("glClear"); @@ -232,7 +232,6 @@ GLVideoView::draw () if (_viewer->outline_content()) { glColor3ub (255, 0, 0); glBegin (GL_LINE_LOOP); - Position inter_position = _viewer->inter_position (); dcp::Size inter_size = _viewer->inter_size (); glVertex2f (inter_position.x, inter_position.y + (canvas_size.GetHeight() - out_size.height) / 2); glVertex2f (inter_position.x + inter_size.width, inter_position.y + (canvas_size.GetHeight() - out_size.height) / 2); @@ -305,6 +304,7 @@ try _one_shot = false; lm.unlock (); + Position inter_position; if (length() != dcpomatic::DCPTime()) { dcpomatic::DCPTime const next = position() + one_video_frame(); @@ -316,8 +316,9 @@ try get_next_frame (false); set_image (player_video().first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true)); + inter_position = player_video().first->inter_position(); } - draw (); + draw (inter_position); while (time_until_next_frame() < 5) { get_next_frame (true); diff --git a/src/wx/gl_video_view.h b/src/wx/gl_video_view.h index 162438a5b..01434d569 100644 --- a/src/wx/gl_video_view.h +++ b/src/wx/gl_video_view.h @@ -20,6 +20,7 @@ #include "video_view.h" #include "lib/signaller.h" +#include "lib/position.h" #include #include #include @@ -50,7 +51,7 @@ public: } private: - void draw (); + void draw (Position inter_position); void thread (); void request_one_shot (); void create (); diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc index 33e2834c5..6a8a863d7 100644 --- a/src/wx/simple_video_view.cc +++ b/src/wx/simple_video_view.cc @@ -125,12 +125,11 @@ SimpleVideoView::paint () } if (_viewer->outline_content()) { - Position inter_position = _viewer->inter_position (); dcp::Size inter_size = _viewer->inter_size (); wxPen p (wxColour (255, 0, 0), 2); dc.SetPen (p); dc.SetBrush (*wxTRANSPARENT_BRUSH); - dc.DrawRectangle (inter_position.x, inter_position.y + (panel_size.GetHeight() - out_size.height) / 2, inter_size.width, inter_size.height); + dc.DrawRectangle (_inter_position.x, _inter_position.y + (panel_size.GetHeight() - out_size.height) / 2, inter_size.width, inter_size.height); } _viewer->state_timer().unset(); } @@ -249,7 +248,7 @@ SimpleVideoView::display_player_video () _viewer->ImageChanged (player_video().first); _viewer->_state_timer.unset (); - _viewer->_inter_position = player_video().first->inter_position (); + _inter_position = player_video().first->inter_position (); _viewer->_inter_size = player_video().first->inter_size (); _viewer->refresh_view (); diff --git a/src/wx/simple_video_view.h b/src/wx/simple_video_view.h index e8bb932e4..f318e778b 100644 --- a/src/wx/simple_video_view.h +++ b/src/wx/simple_video_view.h @@ -19,6 +19,7 @@ */ #include "video_view.h" +#include "lib/position.h" #include class FilmViewer; @@ -48,4 +49,5 @@ private: wxPanel* _panel; boost::shared_ptr _image; wxTimer _timer; + Position _inter_position; };