*/
+
+#include "video_view.h"
+#include "lib/filter.h"
+#include "lib/position.h"
+#include "lib/video_filter_graph_set.h"
+#include <dcp/types.h>
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
+#include <wx/wx.h>
+LIBDCP_ENABLE_WARNINGS
+
+
+class FilmViewer;
+class Filter;
+
+
class SimpleVideoView : public VideoView
{
public:
- SimpleVideoView (wxWindow* parent);
+ SimpleVideoView (FilmViewer* viewer, wxWindow* parent);
- void set_image (boost::shared_ptr<const Image> image);
-
- wxWindow* get () const {
+ wxWindow* get () const override {
return _panel;
}
+ void update () override;
+ void start () override;
+ NextFrameResult display_next_frame (bool non_blocking) override;
+
private:
+ void refresh_panel ();
+ void paint ();
+ void timer ();
+
wxPanel* _panel;
+ std::shared_ptr<const Image> _image;
+ wxTimer _timer;
+ Position<int> _inter_position;
+ dcp::Size _inter_size;
+
+ Filter _rec2020_filter;
+ VideoFilterGraphSet _rec2020_filter_graph;
};