diff options
author | Robin Gareus <robin@gareus.org> | 2013-03-12 22:00:09 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-03-13 20:28:15 +0100 |
commit | 0c3e840700a915fc1476cef73c591048f688f81e (patch) | |
tree | 3241845f899cfed86217db2f6f589740b2b9c04a /gtk2_ardour/editor_drag.h | |
parent | d91565093965b3405774acd878b3baf38839f4e4 (diff) |
videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
Diffstat (limited to 'gtk2_ardour/editor_drag.h')
-rw-r--r-- | gtk2_ardour/editor_drag.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index 196552f96a..9e9f263d76 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -505,6 +505,47 @@ private: double _cumulative_dx; }; +#ifdef WITH_VIDEOTIMELINE +/** Container for details about audio regions being dragged along with video */ +class AVDraggingView +{ +public: + AVDraggingView (RegionView *); + + RegionView* view; ///< the view + framepos_t initial_position; ///< initial position of the region +}; + +/** Drag of video offset */ +class VideoTimeLineDrag : public Drag + //TODO , public sigc::trackable +{ +public: + VideoTimeLineDrag (Editor *e, ArdourCanvas::Item *i); + + void motion (GdkEvent *, bool); + void finished (GdkEvent *, bool); + void start_grab (GdkEvent *, Gdk::Cursor* c = 0); + + bool y_movement_matters () const { + return false; + } + + bool allow_vertical_autoscroll () const { + return false; + } + + void aborted (bool); + +protected: + std::list<AVDraggingView> _views; ///< information about all audio that are being dragged along + +private: + ARDOUR::frameoffset_t _startdrag_video_offset; + ARDOUR::frameoffset_t _max_backwards_drag; +}; +#endif + /** Drag to trim region(s) */ class TrimDrag : public RegionDrag { |