Merge master; specify libdcp-1.0.
[dcpomatic.git] / src / wx / timeline.h
index 48eaa9d762250bbde17d12797f6b4147f679c9f2..b3ee77fff84644a14eb2158ab38fd64778b19a6d 100644 (file)
 #include <wx/wx.h>
 #include "lib/util.h"
 #include "lib/rect.h"
+#include "content_menu.h"
 
 class Film;
 class View;
 class ContentView;
 class FilmEditor;
-class TimeAxisView;
+class DCPTimeAxisView;
 
-class Timeline : public wxPanel
+class DCPTimeline : public wxPanel
 {
 public:
-       Timeline (wxWindow *, FilmEditor *, boost::shared_ptr<Film>);
+       DCPTimeline (wxWindow *, FilmEditor *, boost::shared_ptr<Film>);
 
        boost::shared_ptr<const Film> film () const;
 
@@ -63,21 +64,26 @@ public:
 
        void setup_pixels_per_time_unit ();
 
+       void set_snap (bool s) {
+               _snap = s;
+       }
+
+       bool snap () const {
+               return _snap;
+       }
+
 private:
-       void paint (wxPaintEvent &);
+       void paint ();
        void left_down (wxMouseEvent &);
        void left_up (wxMouseEvent &);
        void right_down (wxMouseEvent &);
        void mouse_moved (wxMouseEvent &);
        void playlist_changed ();
-       void resized (wxSizeEvent &);
+       void resized ();
        void assign_tracks ();
-       void set_start_from_event (wxMouseEvent &);
+       void set_position_from_event (wxMouseEvent &);
        void clear_selection ();
 
-       void repeat (wxCommandEvent &);
-       void remove (wxCommandEvent &);
-
        typedef std::vector<boost::shared_ptr<View> > ViewList;
        typedef std::vector<boost::shared_ptr<ContentView> > ContentViewList;
 
@@ -88,15 +94,16 @@ private:
        FilmEditor* _film_editor;
        boost::weak_ptr<Film> _film;
        ViewList _views;
-       boost::shared_ptr<TimeAxisView> _time_axis_view;
+       boost::shared_ptr<DCPTimeAxisView> _time_axis_view;
        int _tracks;
        double _pixels_per_time_unit;
        bool _left_down;
        wxPoint _down_point;
        boost::shared_ptr<ContentView> _down_view;
-       Time _down_view_start;
+       DCPTime _down_view_position;
        bool _first_move;
-       wxMenu* _menu;
+       ContentMenu _menu;
+       bool _snap;
 
        boost::signals2::scoped_connection _playlist_connection;
 };