diff options
author | nick_m <mainsbridge@gmail.com> | 2016-11-21 04:20:27 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-11-21 04:20:27 +1100 |
commit | eef18c47fd5d4851ef8acfd11c9c70d1ce7b8998 (patch) | |
tree | 0466d2bc53c306cc654788baa3815c217bee083b /gtk2_ardour/editor_drag.h | |
parent | 71c0c872b76f669e4cc598a7bf9b04fb9225e2cc (diff) |
fix compilation, rename PercussiveCreateDrag -> HitCreateDrag
Diffstat (limited to 'gtk2_ardour/editor_drag.h')
-rw-r--r-- | gtk2_ardour/editor_drag.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index 0a413f05ba..8c5fce6e07 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -601,6 +601,38 @@ private: framepos_t _note[2]; }; +class HitCreateDrag : public Drag +{ +public: + HitCreateDrag (Editor *, ArdourCanvas::Item *, MidiRegionView *); + ~HitCreateDrag (); + + void start_grab (GdkEvent *, Gdk::Cursor* c = 0); + void motion (GdkEvent *, bool); + void finished (GdkEvent *, bool); + void aborted (bool); + + bool active (Editing::MouseMode mode) { + return mode == Editing::MouseDraw || mode == Editing::MouseContent; + } + + bool y_movement_matters () const { + return false; + } + +private: + double y_to_region (double) const; + ARDOUR::framecnt_t grid_frames (framepos_t) const; + + /** @return minimum number of frames (in x) and pixels (in y) that should be considered a movement */ + virtual std::pair<ARDOUR::framecnt_t, int> move_threshold () const { + return std::make_pair (0, 0); + } + + MidiRegionView* _region_view; + double _y; +}; + /** Drag to move MIDI patch changes */ class PatchChangeDrag : public Drag { |