Try to fix build.
[dcpomatic.git] / src / wx / timeline.h
index fafb09c0e5aa0dc56b9c830131ae899a5c4616f7..cab0ea0e08525bc36221cbf401c360ee9b750757 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 #include "lib/util.h"
 #include "lib/rect.h"
 #include "content_menu.h"
+#include "timeline_content_view.h"
 
 class Film;
-class View;
-class ContentView;
-class FilmEditor;
-class TimeAxisView;
+class ContentPanel;
+class TimelineView;
+class TimelineTimeAxisView;
 
 class Timeline : public wxPanel
 {
 public:
-       Timeline (wxWindow *, FilmEditor *, boost::shared_ptr<Film>);
+       Timeline (wxWindow *, ContentPanel *, boost::shared_ptr<Film>);
 
        boost::shared_ptr<const Film> film () const;
 
@@ -52,8 +52,8 @@ public:
                return 48;
        }
 
-       boost::optional<double> pixels_per_time_unit () const {
-               return _pixels_per_time_unit;
+       boost::optional<double> pixels_per_second () const {
+               return _pixels_per_second;
        }
 
        Position<int> tracks_position () const {
@@ -62,7 +62,7 @@ public:
 
        int tracks () const;
 
-       void setup_pixels_per_time_unit ();
+       void setup_pixels_per_second ();
 
        void set_snap (bool s) {
                _snap = s;
@@ -84,24 +84,23 @@ private:
        void assign_tracks ();
        void set_position_from_event (wxMouseEvent &);
        void clear_selection ();
+       void recreate_views ();
 
-       typedef std::vector<boost::shared_ptr<View> > ViewList;
-       typedef std::vector<boost::shared_ptr<ContentView> > ContentViewList;
-
-       boost::shared_ptr<View> event_to_view (wxMouseEvent &);
-       ContentViewList selected_views () const;
+       boost::shared_ptr<TimelineView> event_to_view (wxMouseEvent &);
+       TimelineContentViewList selected_views () const;
        ContentList selected_content () const;
+       void maybe_snap (DCPTime a, DCPTime b, boost::optional<DCPTime>& nearest_distance) const;
 
-       FilmEditor* _film_editor;
+       ContentPanel* _content_panel;
        boost::weak_ptr<Film> _film;
-       ViewList _views;
-       boost::shared_ptr<TimeAxisView> _time_axis_view;
+       TimelineViewList _views;
+       boost::shared_ptr<TimelineTimeAxisView> _time_axis_view;
        int _tracks;
-       boost::optional<double> _pixels_per_time_unit;
+       boost::optional<double> _pixels_per_second;
        bool _left_down;
        wxPoint _down_point;
-       boost::shared_ptr<ContentView> _down_view;
-       Time _down_view_position;
+       boost::shared_ptr<TimelineContentView> _down_view;
+       DCPTime _down_view_position;
        bool _first_move;
        ContentMenu _menu;
        bool _snap;