X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline.h;h=82d10afde6cc8a8337c910b8b9506c1461c96585;hb=6de35d058821acc092d2aae75543024a97026b8a;hp=db33dbbdc70e161003eaf9df40ebbaf46c64eefa;hpb=16a7ea91e973b327735658857cbf996cc740be77;p=dcpomatic.git diff --git a/src/wx/timeline.h b/src/wx/timeline.h index db33dbbdc..82d10afde 100644 --- a/src/wx/timeline.h +++ b/src/wx/timeline.h @@ -28,13 +28,13 @@ class Film; class View; class ContentView; -class FilmEditor; +class ContentPanel; class TimeAxisView; class Timeline : public wxPanel { public: - Timeline (wxWindow *, FilmEditor *, boost::shared_ptr); + Timeline (wxWindow *, ContentPanel *, boost::shared_ptr); boost::shared_ptr film () const; @@ -52,8 +52,8 @@ public: return 48; } - double pixels_per_time_unit () const { - return _pixels_per_time_unit; + boost::optional pixels_per_second () const { + return _pixels_per_second; } Position tracks_position () const { @@ -62,7 +62,15 @@ public: int tracks () const; - void setup_pixels_per_time_unit (); + void setup_pixels_per_second (); + + void set_snap (bool s) { + _snap = s; + } + + bool snap () const { + return _snap; + } private: void paint (); @@ -71,9 +79,10 @@ private: void right_down (wxMouseEvent &); void mouse_moved (wxMouseEvent &); void playlist_changed (); + void playlist_content_changed (int); void resized (); void assign_tracks (); - void set_start_from_event (wxMouseEvent &); + void set_position_from_event (wxMouseEvent &); void clear_selection (); typedef std::vector > ViewList; @@ -83,18 +92,20 @@ private: ContentViewList selected_views () const; ContentList selected_content () const; - FilmEditor* _film_editor; + ContentPanel* _content_panel; boost::weak_ptr _film; ViewList _views; boost::shared_ptr _time_axis_view; int _tracks; - double _pixels_per_time_unit; + boost::optional _pixels_per_second; bool _left_down; wxPoint _down_point; boost::shared_ptr _down_view; - Time _down_view_start; + DCPTime _down_view_position; bool _first_move; ContentMenu _menu; + bool _snap; - boost::signals2::scoped_connection _playlist_connection; + boost::signals2::scoped_connection _playlist_changed_connection; + boost::signals2::scoped_connection _playlist_content_changed_connection; };