move _copy member of some types of drags into Drag base class

this allows us to use it when computing move thresholds
This commit is contained in:
Paul Davis
2025-08-19 11:27:21 -06:00
parent 43e4e428f5
commit f34e314d93
2 changed files with 5 additions and 6 deletions

View File

@@ -286,6 +286,7 @@ Drag::Drag (EditingContext& ec, ArdourCanvas::Item* i, Temporal::TimeDomain td,
, _y_constrained (false)
, _was_rolling (false)
, _earliest_time_limit (0)
, _copy (false)
, _hide_snapped_cursor (hide_snapped_cursor)
, _move_threshold_passed (false)
, _starting_point_passed (false)
@@ -2237,11 +2238,11 @@ RegionMotionDrag::aborted (bool)
*/
RegionMoveDrag::RegionMoveDrag (Editor& e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const& v, bool c, TimeDomain td)
: RegionMotionDrag (e, i, p, v, td)
, _copy (c)
, _new_region_view (0)
{
DEBUG_TRACE (DEBUG::Drags, "New RegionMoveDrag\n");
_copy = c;
_last_position = _primary->region ()->position ();
}
@@ -5891,10 +5892,10 @@ SelectionMarkerDrag::aborted (bool movement_occurred)
RangeMarkerBarDrag::RangeMarkerBarDrag (Editor& e, ArdourCanvas::Item* i, Operation o)
: EditorDrag (e, i, e.time_domain (), nullptr)
, _operation (o)
, _copy (false)
{
DEBUG_TRACE (DEBUG::Drags, "New RangeMarkerBarDrag\n");
_copy = false;
_drag_rect = new ArdourCanvas::Rectangle (_editor.time_line_group,
ArdourCanvas::Rect (0.0, 0.0, 0.0,
physical_screen_height (_editor.current_toplevel ()->get_window ())));
@@ -6124,10 +6125,10 @@ NoteDrag::NoteDrag (EditingContext& ec, ArdourCanvas::Item* i)
: Drag (ec, i, Temporal::BeatTime, ec.get_trackview_group(), false)
, _cumulative_dy (0)
, _was_selected (false)
, _copy (false)
{
DEBUG_TRACE (DEBUG::Drags, "New NoteDrag\n");
_copy = false;
_primary = reinterpret_cast<NoteBase*> (_item->get_data ("notebase"));
assert (_primary);
_view = &_primary->midi_view ();

View File

@@ -331,6 +331,7 @@ protected:
bool _y_constrained; ///< true if y motion is constrained, otherwise false
bool _was_rolling; ///< true if the session was rolling before the drag started, otherwise false
ARDOUR::timepos_t _earliest_time_limit; ///< time we cannot drag before (defaults to 0, indicating no such limit)
bool _copy;
private:
bool _trackview_only; ///< true if pointer y value should always be relative to the top of the trackview group
@@ -557,7 +558,6 @@ private:
void collect_new_region_view (RegionView *);
RouteTimeAxisView* create_destination_time_axis (std::shared_ptr<ARDOUR::Region>, TimeAxisView* original);
bool _copy;
RegionView* _new_region_view;
};
@@ -655,7 +655,6 @@ private:
Temporal::timepos_t _earliest; // earliest note in note selection
bool _was_selected;
double _note_height;
bool _copy;
};
class NoteCreateDrag : public Drag
@@ -1435,7 +1434,6 @@ private:
Operation _operation;
ArdourCanvas::Rectangle* _drag_rect;
bool _copy;
};
/** Drag of rectangle to set zoom */