diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 63d91f0109..765349c578 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -7152,3 +7152,42 @@ void RegionCutDrag::aborted (bool) { } + +RegionMarkerDrag::RegionMarkerDrag (Editor* ed, RegionView* r, ArdourCanvas::Item* i) + : Drag (ed, i) + , rv (r) + , view (static_cast (i->get_data ("marker"))) + , model (rv->find_model_cue_marker (view)) +{ + assert (view); +} + +RegionMarkerDrag::~RegionMarkerDrag () +{ +} + +void +RegionMarkerDrag::start_grab (GdkEvent *, Gdk::Cursor* c) +{ +} + +void +RegionMarkerDrag::motion (GdkEvent *, bool) +{ +} + +void +RegionMarkerDrag::finished (GdkEvent *, bool) +{ +} + +void +RegionMarkerDrag::aborted (bool) +{ +} + +void +RegionMarkerDrag::setup_pointer_sample_offset () +{ +} + diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index b50153e8cf..b57a9a3f2a 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -1376,4 +1376,31 @@ private: bool start; }; +class RegionMarkerDrag : public Drag +{ + public: + RegionMarkerDrag (Editor*, RegionView*, ArdourCanvas::Item*); + ~RegionMarkerDrag (); + + void start_grab (GdkEvent *, Gdk::Cursor* c = 0); + void motion (GdkEvent *, bool); + void finished (GdkEvent *, bool); + void aborted (bool); + + bool allow_vertical_autoscroll () const { + return false; + } + + bool y_movement_matters () const { + return false; + } + + void setup_pointer_sample_offset (); + + private: + RegionView* rv; + ArdourMarker* view; + ARDOUR::CueMarker model; +}; + #endif /* __gtk2_ardour_editor_drag_h_ */