X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline.h;h=b532e74e3730989bb78124cc7a8cacf9e997dd86;hb=f984990795e548e2c4160d17d0fa54a40c8b1311;hp=a7f34586305875dc6ce14261d2a9949d3d540505;hpb=aafa1cc676b6bd4d333f0ff3a09e1effabf979c3;p=dcpomatic.git diff --git a/src/wx/timeline.h b/src/wx/timeline.h index a7f345863..b532e74e3 100644 --- a/src/wx/timeline.h +++ b/src/wx/timeline.h @@ -24,8 +24,6 @@ #include "lib/rect.h" #include "lib/film.h" #include -#include -#include #include class Film; @@ -34,13 +32,14 @@ class TimelineView; class TimelineTimeAxisView; class TimelineReelsView; class TimelineLabelsView; +class FilmViewer; class Timeline : public wxPanel { public: - Timeline (wxWindow *, ContentPanel *, boost::shared_ptr); + Timeline (wxWindow *, ContentPanel *, std::shared_ptr, std::weak_ptr viewer); - boost::shared_ptr film () const; + std::shared_ptr film () const; void force_redraw (dcpomatic::Rect const &); @@ -103,37 +102,40 @@ private: void set_pixels_per_second (double pps); void set_pixels_per_track (int h); void zoom_all (); + void update_playhead (); - boost::shared_ptr event_to_view (wxMouseEvent &); + std::shared_ptr event_to_view (wxMouseEvent &); TimelineContentViewList selected_views () const; ContentList selected_content () const; - void maybe_snap (DCPTime a, DCPTime b, boost::optional& nearest_distance) const; + void maybe_snap (dcpomatic::DCPTime a, dcpomatic::DCPTime b, boost::optional& nearest_distance) const; wxScrolledCanvas* _labels_canvas; wxScrolledCanvas* _main_canvas; ContentPanel* _content_panel; - boost::weak_ptr _film; + std::weak_ptr _film; + std::weak_ptr _viewer; TimelineViewList _views; - boost::shared_ptr _time_axis_view; - boost::shared_ptr _reels_view; - boost::shared_ptr _labels_view; + std::shared_ptr _time_axis_view; + std::shared_ptr _reels_view; + std::shared_ptr _labels_view; int _tracks; boost::optional _pixels_per_second; bool _left_down; wxPoint _down_point; boost::optional _zoom_point; - boost::shared_ptr _down_view; - DCPTime _down_view_position; + std::shared_ptr _down_view; + dcpomatic::DCPTime _down_view_position; bool _first_move; ContentMenu _menu; bool _snap; - std::list _start_snaps; - std::list _end_snaps; + std::list _start_snaps; + std::list _end_snaps; Tool _tool; int _x_scroll_rate; int _y_scroll_rate; int _pixels_per_track; bool _first_resize; + wxTimer _timer; static double const _minimum_pixels_per_second; static int const _minimum_pixels_per_track;