+
+ ARDOUR::frameoffset_t total_dx () const;
+ int8_t total_dy () const;
+
+ MidiRegionView* _region;
+ Gnome::Canvas::CanvasNoteEvent* _primary;
+ double _cumulative_dx;
+ double _cumulative_dy;
+ bool _was_selected;
+ double _note_height;
+};
+
+/** Drag to move MIDI patch changes */
+class PatchChangeDrag : public Drag
+{
+public:
+ PatchChangeDrag (Editor *, ArdourCanvas::CanvasPatchChange *, MidiRegionView *);
+
+ void motion (GdkEvent *, bool);
+ void finished (GdkEvent *, bool);
+ void aborted (bool);
+
+ bool y_movement_matters () const {
+ return false;
+ }
+
+ void setup_pointer_frame_offset ();
+
+private:
+ MidiRegionView* _region_view;
+ ArdourCanvas::CanvasPatchChange* _patch_change;
+ double _cumulative_dx;