dcp::Size inter_size () const {
return _inter_size;
}
- Position<int> inter_position () const {
- return _inter_position;
- }
bool outline_content () const {
return _outline_content;
}
bool _coalesce_player_changes;
std::list<int> _pending_player_changes;
- Position<int> _inter_position;
dcp::Size _inter_size;
/** Size of our output (including padding if we have any) */
}
void
-GLVideoView::draw ()
+GLVideoView::draw (Position<int> inter_position)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
check_gl_error ("glClear");
if (_viewer->outline_content()) {
glColor3ub (255, 0, 0);
glBegin (GL_LINE_LOOP);
- Position<int> 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);
_one_shot = false;
lm.unlock ();
+ Position<int> inter_position;
if (length() != dcpomatic::DCPTime()) {
dcpomatic::DCPTime const next = position() + one_video_frame();
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);
#include "video_view.h"
#include "lib/signaller.h"
+#include "lib/position.h"
#include <wx/wx.h>
#include <wx/glcanvas.h>
#include <dcp/util.h>
}
private:
- void draw ();
+ void draw (Position<int> inter_position);
void thread ();
void request_one_shot ();
void create ();
}
if (_viewer->outline_content()) {
- Position<int> 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();
}
_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 ();
*/
#include "video_view.h"
+#include "lib/position.h"
#include <wx/wx.h>
class FilmViewer;
wxPanel* _panel;
boost::shared_ptr<const Image> _image;
wxTimer _timer;
+ Position<int> _inter_position;
};