#include "content_menu.h"
+#include "timeline.h"
#include "timeline_content_view.h"
#include "lib/film_property.h"
#include "lib/rect.h"
class ContentPanel;
+class ContentTimelineView;
class Film;
class FilmViewer;
class TimelineLabelsView;
class TimelineReelsView;
class TimelineTimeAxisView;
-class TimelineView;
-class ContentTimeline : public wxPanel
+class ContentTimeline : public Timeline
{
public:
ContentTimeline(wxWindow *, ContentPanel *, std::shared_ptr<Film>, FilmViewer& viewer);
return _pixels_per_track;
}
- boost::optional<double> pixels_per_second () const {
- return _pixels_per_second;
- }
-
int tracks () const;
void set_snap (bool s) {
void recreate_views ();
void setup_scrollbars ();
void scrolled (wxScrollWinEvent& ev);
- void set_pixels_per_second (double pps);
void set_pixels_per_track (int h);
void zoom_all ();
void update_playhead ();
void mouse_wheel_turned(wxMouseEvent& event);
- std::shared_ptr<TimelineView> event_to_view (wxMouseEvent &);
+ std::shared_ptr<ContentTimelineView> event_to_view(wxMouseEvent &);
TimelineContentViewList selected_views () const;
ContentList selected_content () const;
void maybe_snap (dcpomatic::DCPTime a, dcpomatic::DCPTime b, boost::optional<dcpomatic::DCPTime>& nearest_distance) const;
ContentPanel* _content_panel;
std::weak_ptr<Film> _film;
FilmViewer& _viewer;
- TimelineViewList _views;
+ ContentTimelineViewList _views;
std::shared_ptr<TimelineTimeAxisView> _time_axis_view;
std::shared_ptr<TimelineReelsView> _reels_view;
std::shared_ptr<TimelineLabelsView> _labels_view;
int _tracks;
- boost::optional<double> _pixels_per_second;
bool _left_down;
wxPoint _down_point;
boost::optional<wxPoint> _zoom_point;
boost::optional<int> _last_mouse_wheel_x;
boost::optional<double> _last_mouse_wheel_time;
- static double const _minimum_pixels_per_second;
static int const _minimum_pixels_per_track;
boost::signals2::scoped_connection _film_changed_connection;