X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimeline.h;h=35153dd175d4c13aa4f510656c3810a2a1bd38fc;hb=2c0478d2b33906845b9d910668b12fe3e8f03a7c;hp=0470ed7b99c2e64300d981452694f8105d14b556;hpb=d5085584d82c021e924cec6ce00e682a8e63d800;p=dcpomatic.git diff --git a/src/wx/timeline.h b/src/wx/timeline.h index 0470ed7b9..35153dd17 100644 --- a/src/wx/timeline.h +++ b/src/wx/timeline.h @@ -21,8 +21,9 @@ #include #include #include -#include "util.h" -#include "rect.h" +#include "lib/util.h" +#include "lib/rect.h" +#include "content_menu.h" class Film; class View; @@ -51,8 +52,8 @@ public: return 48; } - double pixels_per_time_unit () const { - return _pixels_per_time_unit; + double pixels_per_second () const { + return _pixels_per_second; } Position tracks_position () const { @@ -61,28 +62,48 @@ public: int tracks () const; + void setup_pixels_per_second (); + + void set_snap (bool s) { + _snap = s; + } + + bool snap () const { + return _snap; + } + private: - void paint (wxPaintEvent &); + void paint (); void left_down (wxMouseEvent &); - void mouse_moved (wxMouseEvent &); void left_up (wxMouseEvent &); + void right_down (wxMouseEvent &); + void mouse_moved (wxMouseEvent &); void playlist_changed (); - void setup_pixels_per_time_unit (); - void resized (wxSizeEvent &); + void resized (); void assign_tracks (); - void set_start_from_event (wxMouseEvent &); + void set_position_from_event (wxMouseEvent &); + void clear_selection (); + + typedef std::vector > ViewList; + typedef std::vector > ContentViewList; + + boost::shared_ptr event_to_view (wxMouseEvent &); + ContentViewList selected_views () const; + ContentList selected_content () const; FilmEditor* _film_editor; boost::weak_ptr _film; - std::list > _views; + ViewList _views; boost::shared_ptr _time_axis_view; int _tracks; - double _pixels_per_time_unit; + double _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; };