Barely-functioning GL playback with new arrangement.
[dcpomatic.git] / src / wx / video_view.h
index 060d982f737c31499fb608f10d3145924a6dcb46..827d1bf73d65a2f0e8a93c2c7d5c4862dd7ec834 100644 (file)
 #ifndef DCPOMATIC_VIDEO_VIEW_H
 #define DCPOMATIC_VIDEO_VIEW_H
 
+#include "lib/dcpomatic_time.h"
 #include <boost/shared_ptr.hpp>
 #include <boost/signals2.hpp>
 
 class Image;
 class wxWindow;
+class FilmViewer;
+class PlayerVideo;
 
 class VideoView
 {
 public:
+       VideoView (FilmViewer* viewer)
+               : _viewer (viewer)
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+               , _in_watermark (false)
+#endif
+       {}
+
        virtual ~VideoView () {}
 
        virtual void set_image (boost::shared_ptr<const Image> image) = 0;
        virtual wxWindow* get () const = 0;
+       virtual void update () = 0;
+
+       /* XXX_b: make pure */
+       virtual void start () {}
+
+       void clear ();
 
        boost::signals2::signal<void()> Sized;
+
+       /* XXX_b: to remove */
+       virtual bool get (bool) {
+               return true;
+       }
+       /* XXX_b: to remove */
+       virtual void display_player_video () {}
+
+protected:
+       /* XXX_b: to remove */
+       friend class FilmViewer;
+
+       bool get_next_frame (bool non_blocking);
+
+       FilmViewer* _viewer;
+       std::pair<boost::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> _player_video;
+
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+       bool _in_watermark;
+       int _watermark_x;
+       int _watermark_y;
+#endif
 };
 
 #endif