return false;
}
- /** Called when a subclass should update the editor's selection following a drag */
- virtual void update_selection () {}
+ virtual bool allow_vertical_autoscroll () const {
+ return true;
+ }
protected:
- nframes64_t adjusted_current_frame () const;
+ nframes64_t adjusted_current_frame (GdkEvent *) const;
Editor* _editor; ///< our editor
ArdourCanvas::Item* _item; ///< our item
RegionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list<RegionView*> const &);
virtual ~RegionDrag () {}
- void update_selection ();
-
protected:
RegionView* _primary; ///< the view that was clicked on (or whatever) to start the drag
void motion (GdkEvent *, bool);
void finished (GdkEvent *, bool);
+ bool active (Editing::MouseMode) {
+ return true;
+ }
+
+ bool allow_vertical_autoscroll () const {
+ return false;
+ }
+
private:
EditorCursor* _cursor; ///< cursor being dragged
bool _stop; ///< true to stop the transport on starting the drag, otherwise false
void motion (GdkEvent *, bool);
void finished (GdkEvent *, bool);
+ bool active (Editing::MouseMode m);
+
private:
ControlPoint* _point;
void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
void motion (GdkEvent *, bool);
void finished (GdkEvent *, bool);
+
+ bool active (Editing::MouseMode) {
+ return true;
+ }
private:
void finished (GdkEvent *, bool);
};
-/** Drag in range selection mode */
+/** Scrub drag in audition mode */
+class ScrubDrag : public Drag
+{
+public:
+ ScrubDrag (Editor *e, ArdourCanvas::Item *i) : Drag (e, i) {}
+
+ void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
+ void motion (GdkEvent *, bool);
+ void finished (GdkEvent *, bool);
+};
+
+/** Drag in range select(gc_owner.get()) moAutomatable */
class SelectionDrag : public Drag
{
public: