summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor_drag.h')
-rw-r--r--gtk2_ardour/editor_drag.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h
index 1d9ac151d8..9d7215d93f 100644
--- a/gtk2_ardour/editor_drag.h
+++ b/gtk2_ardour/editor_drag.h
@@ -474,7 +474,6 @@ private:
ControlPoint* _point;
double _time_axis_view_grab_x;
double _time_axis_view_grab_y;
- nframes64_t _time_axis_view_grab_frame;
double _cumulative_x_drag;
double _cumulative_y_drag;
static double const _zero_gain_fraction;
@@ -537,7 +536,7 @@ public:
void finished (GdkEvent *, bool);
};
-/** Drag in range select(gc_owner.get()) moAutomatable */
+/** Drag in range select mode */
class SelectionDrag : public Drag
{
public:
@@ -557,6 +556,9 @@ public:
private:
Operation _operation;
bool _copy;
+ int _original_pointer_time_axis;
+ int _last_pointer_time_axis;
+ std::list<TimeAxisView*> _added_time_axes;
};
/** Range marker drag */
@@ -583,16 +585,33 @@ private:
bool _copy;
};
-/* Drag of rectangle to set zoom */
+/** Drag of rectangle to set zoom */
class MouseZoomDrag : public Drag
{
public:
- MouseZoomDrag (Editor *e, ArdourCanvas::Item *i) : Drag (e, i) {}
+ MouseZoomDrag (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 of a range of automation data, changing value but not position */
+class AutomationRangeDrag : public Drag
+{
+public:
+ AutomationRangeDrag (Editor *, ArdourCanvas::Item *, std::list<ARDOUR::AudioRange> const &);
+
+ void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
+ void motion (GdkEvent *, bool);
+ void finished (GdkEvent *, bool);
+
+private:
+ std::list<ARDOUR::AudioRange> _ranges;
+ AutomationTimeAxisView* _atav;
+ boost::shared_ptr<AutomationLine> _line;
+ bool _nothing_to_drag;
+};
+
#endif /* __gtk2_ardour_editor_drag_h_ */