, _one_shot (false)
{
_canvas = new wxGLCanvas (parent, wxID_ANY, 0, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE);
- _canvas->Bind (wxEVT_PAINT, boost::bind(&GLVideoView::paint, this));
+ _canvas->Bind (wxEVT_PAINT, boost::bind(&GLVideoView::update, this));
_canvas->Bind (wxEVT_SIZE, boost::bind(boost::ref(Sized)));
_canvas->Bind (wxEVT_CREATE, boost::bind(&GLVideoView::create, this));
}
}
-void
-GLVideoView::paint ()
-{
- request_one_shot ();
-}
-
void
GLVideoView::update ()
{
if (!_canvas->IsShownOnScreen()) {
return;
}
- /* XXX_b */
-// wxClientDC dc (_canvas);
-// draw ();
+ request_one_shot ();
}
void
virtual void set_image (boost::shared_ptr<const Image> image) = 0;
virtual wxWindow* get () const = 0;
+ /** Redraw the view after something has changed like content outlining,
+ * the film being removed, etc.
+ */
virtual void update () = 0;
/* XXX_b: make pure */