Merge branch 'master' of git.carlh.net:git/dcpomatic
[dcpomatic.git] / src / wx / film_viewer.h
index 5c8320295c9d8b9c4e3e39019c2bb11501494d99..337b68446cf64bbd2b935ea6bcbda5cc11a12d77 100644 (file)
@@ -28,19 +28,20 @@ class wxToggleButton;
 class FFmpegPlayer;
 class Image;
 class RGBPlusAlphaImage;
+class PlayerVideoFrame;
 
 /** @class FilmViewer
  *  @brief A wx widget to view a preview of a Film.
  *
  *  The film takes the following path through the viewer:
  *
- *  1.  fetch_next_frame() asks our _player to decode some data.  If it does, process_video()
- *      will be called.
+ *  1. fetch_next_frame() asks our _player to decode some data.  If it does, process_video()
+ *     will be called.
  *
- *  2.  process_video() takes the image from the player (_frame).
+ *  2. process_video() takes the image from the player (_frame).
  *
- *  3.  fetch_next_frame() calls _panel->Refresh() and _panel->Update() which results in
- *      paint_panel() being called; this creates frame_bitmap from _frame and blits it to the display.
+ *  3. fetch_next_frame() calls _panel->Refresh() and _panel->Update() which results in
+ *     paint_panel() being called; this creates frame_bitmap from _frame and blits it to the display.
  *
  * fetch_current_frame_again() asks the player to re-emit its current frame on the next pass(), and then
  * starts from step #1.
@@ -48,25 +49,26 @@ class RGBPlusAlphaImage;
 class FilmViewer : public wxPanel
 {
 public:
-       FilmViewer (boost::shared_ptr<Film>, wxWindow *);
+       FilmViewer (wxWindow *);
 
        void set_film (boost::shared_ptr<Film>);
 
 private:
-       void paint_panel (wxPaintEvent &);
+       void paint_panel ();
        void panel_sized (wxSizeEvent &);
-       void slider_moved (wxScrollEvent &);
-       void play_clicked (wxCommandEvent &);
-       void timer (wxTimerEvent &);
-       void process_video (boost::shared_ptr<const Image>, Time);
+       void slider_moved ();
+       void play_clicked ();
+       void timer ();
+       void process_video (boost::shared_ptr<PlayerVideoFrame>, Time);
        void calculate_sizes ();
        void check_play_state ();
        void fetch_current_frame_again ();
        void fetch_next_frame ();
        void active_jobs_changed (bool);
-       void back_clicked (wxCommandEvent &);
-       void forward_clicked (wxCommandEvent &);
+       void back_clicked ();
+       void forward_clicked ();
        void player_changed (bool);
+       void set_position_text (Time);
 
        boost::shared_ptr<Film> _film;
        boost::shared_ptr<Player> _player;
@@ -88,6 +90,4 @@ private:
        libdcp::Size _out_size;
        /** Size of the panel that we have available */
        libdcp::Size _panel_size;
-
-       std::list<std::pair<boost::shared_ptr<const Image>, Time> > _queue;
 };