X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline.h;h=a2c4f0f2fda7d56fe5be086c2323db1e07ccbc0c;hb=e8748f158249d7be906f6c6cf2411df45dd07a24;hp=84cb870f24209f6d055d84a490ac9848d2c5b096;hpb=c4403784febdbdd42e9c32e67fadb147f11fe566;p=dcpomatic.git diff --git a/src/wx/timeline.h b/src/wx/timeline.h index 84cb870f2..a2c4f0f2f 100644 --- a/src/wx/timeline.h +++ b/src/wx/timeline.h @@ -18,29 +18,33 @@ */ + #include "content_menu.h" #include "timeline_content_view.h" -#include "lib/util.h" -#include "lib/rect.h" #include "lib/film.h" +#include "lib/rect.h" +#include +LIBDCP_DISABLE_WARNINGS #include -#include -#include +LIBDCP_ENABLE_WARNINGS #include -class Film; + class ContentPanel; -class TimelineView; -class TimelineTimeAxisView; -class TimelineReelsView; +class Film; +class FilmViewer; class TimelineLabelsView; +class TimelineReelsView; +class TimelineTimeAxisView; +class TimelineView; + class Timeline : public wxPanel { public: - Timeline (wxWindow *, ContentPanel *, boost::shared_ptr); + Timeline (wxWindow *, ContentPanel *, std::shared_ptr, FilmViewer& viewer); - boost::shared_ptr film () const; + std::shared_ptr film () const; void force_redraw (dcpomatic::Rect const &); @@ -103,8 +107,9 @@ 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 (dcpomatic::DCPTime a, dcpomatic::DCPTime b, boost::optional& nearest_distance) const; @@ -112,17 +117,18 @@ private: wxScrolledCanvas* _labels_canvas; wxScrolledCanvas* _main_canvas; ContentPanel* _content_panel; - boost::weak_ptr _film; + std::weak_ptr _film; + FilmViewer& _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; + std::shared_ptr _down_view; dcpomatic::DCPTime _down_view_position; bool _first_move; ContentMenu _menu; @@ -134,6 +140,7 @@ private: 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;