Ardour  9.0-pre0-582-g084a23a80d
RegionMotionDrag Class Referenceabstract

#include <editor_drag.h>

Inheritance diagram for RegionMotionDrag:
[legend]

Public Member Functions

 RegionMotionDrag (Editor &, ArdourCanvas::Item *, RegionView *, std::list< RegionView * > const &, Temporal::TimeDomain td)
 
virtual ~RegionMotionDrag ()
 
virtual void start_grab (GdkEvent *, Gdk::Cursor *)
 
virtual void motion (GdkEvent *, bool)
 
virtual void finished (GdkEvent *, bool)
 
virtual void aborted (bool)
 
virtual bool regions_came_from_canvas () const =0
 
- Public Member Functions inherited from RegionDrag
 RegionDrag (Editor &, ArdourCanvas::Item *, RegionView *, std::list< RegionView * > const &, Temporal::TimeDomain, bool hide_snapped_cursor=true)
 
virtual ~RegionDrag ()
 
- Public Member Functions inherited from EditorDrag
 EditorDrag (Editor &, ArdourCanvas::Item *, Temporal::TimeDomain td, ArdourCanvas::Item const *bounding_item, bool hide_snapped_cursor=true)
 
- Public Member Functions inherited from Drag
 Drag (EditingContext &, ArdourCanvas::Item *, Temporal::TimeDomain td, ArdourCanvas::Item const *bounding_item, bool hide_snapped_cursor=true)
 
virtual ~Drag ()
 
void set_manager (DragManager *m)
 
void set_bounding_item (ArdourCanvas::Item const *i)
 
ArdourCanvas::Itemitem () const
 
Temporal::TimeDomain time_domain () const
 
void set_time_domain (Temporal::TimeDomain)
 
void swap_grab (ArdourCanvas::Item *, Gdk::Cursor *, uint32_t)
 
bool motion_handler (GdkEvent *, bool)
 
void abort ()
 
Temporal::timepos_t adjusted_time (Temporal::timepos_t const &, GdkEvent const *, bool snap=true) const
 
Temporal::timepos_t adjusted_current_time (GdkEvent const *, bool snap=true) const
 
bool was_double_click () const
 
void set_double_click (bool yn)
 
void set_grab_button_anyway (GdkEvent *)
 
virtual bool end_grab (GdkEvent *)
 
virtual bool active (Editing::MouseMode m)
 
bool preview_video () const
 
std::pair< Temporal::timecnt_t, int > move_threshold () const
 
virtual bool allow_vertical_autoscroll () const
 
virtual bool allow_horizontal_autoscroll () const
 
virtual bool x_movement_matters () const
 
virtual bool y_movement_matters () const
 
virtual bool mid_drag_key_event (GdkEventKey *)
 
bool initially_vertical () const
 
virtual void setup_pointer_offset ()
 
int grab_button () const
 

Protected Member Functions

double compute_x_delta (GdkEvent const *, Temporal::timepos_t &)
 
virtual bool y_movement_allowed (int, double, int skip_invisible=0) const
 
void collect_ripple_views ()
 
- Protected Member Functions inherited from RegionDrag
int find_time_axis_view (TimeAxisView *) const
 
int apply_track_delta (const int start, const int delta, const int skip, const bool distance_only=false) const
 
void setup_video_offset ()
 
void add_stateful_diff_commands_for_playlists (ARDOUR::PlaylistSet const &)
 
- Protected Member Functions inherited from Drag
double grab_x () const
 
double grab_y () const
 
Temporal::timepos_t pixel_duration_to_time (double x) const
 
Temporal::timepos_t raw_grab_time () const
 
ARDOUR::samplepos_t grab_sample () const
 
Temporal::timepos_t grab_time () const
 
double last_pointer_x () const
 
double last_pointer_y () const
 
ARDOUR::samplepos_t last_pointer_sample () const
 
Temporal::timepos_t last_pointer_time () const
 
Temporal::timecnt_t snap_delta (guint const) const
 
double current_pointer_x () const
 
double current_pointer_y () const
 
void setup_snap_delta (Temporal::timepos_t const &pos)
 
std::shared_ptr< ARDOUR::Regionadd_midi_region (MidiTimeAxisView *, bool commit)
 
void show_verbose_cursor_time (Temporal::timepos_t const &)
 
void show_verbose_cursor_duration (Temporal::timepos_t const &, Temporal::timepos_t const &, double xoffset=0)
 
void show_verbose_cursor_text (std::string const &)
 
void show_view_preview (Temporal::timepos_t const &)
 

Protected Attributes

bool _ignore_video_lock
 
Temporal::timepos_t _last_position
 last position of the thing being dragged More...
 
double _total_x_delta
 
int _last_pointer_time_axis_view
 
double _last_pointer_layer
 
std::vector< ArdourMarker * > ripple_markers
 
- Protected Attributes inherited from RegionDrag
RegionView_primary
 the view that was clicked on (or whatever) to start the drag More...
 
std::list< DraggingView_views
 information about all views that are being dragged More...
 
std::vector< TimeAxisView * > _time_axis_views
 
int _visible_y_low
 
int _visible_y_high
 
uint32_t _ntracks
 
- Protected Attributes inherited from EditorDrag
Editor_editor
 
- Protected Attributes inherited from Drag
EditingContextediting_context
 
DragManager_drags
 
ArdourCanvas::Item_item
 our item More...
 
ArdourCanvas::Item const * _bounding_item
 our coordinate reference (normally null) More...
 
Temporal::timecnt_t _pointer_offset
 
Temporal::timecnt_t _video_offset
 
bool _preview_video
 
bool _x_constrained
 true if x motion is constrained, otherwise false More...
 
bool _y_constrained
 true if y motion is constrained, otherwise false More...
 
bool _was_rolling
 true if the session was rolling before the drag started, otherwise false More...
 
ARDOUR::timepos_t _earliest_time_limit
 time we cannot drag before (defaults to 0, indicating no such limit) More...
 

Private Attributes

uint32_t _ndropzone
 
uint32_t _pdropzone
 
uint32_t _ddropzone
 

Detailed Description

Drags involving region motion from somewhere

Definition at line 465 of file editor_drag.h.

Constructor & Destructor Documentation

◆ RegionMotionDrag()

RegionMotionDrag::RegionMotionDrag ( Editor ,
ArdourCanvas::Item ,
RegionView ,
std::list< RegionView * > const &  ,
Temporal::TimeDomain  td 
)

◆ ~RegionMotionDrag()

virtual RegionMotionDrag::~RegionMotionDrag ( )
inlinevirtual

Definition at line 470 of file editor_drag.h.

Member Function Documentation

◆ aborted()

virtual void RegionMotionDrag::aborted ( bool  m)
virtual

Called to abort a drag and return things to how they were before it started.

Parameters
mtrue if some movement occurred, otherwise false.

Implements Drag.

Reimplemented in RegionInsertDrag, and RegionMoveDrag.

◆ collect_ripple_views()

void RegionMotionDrag::collect_ripple_views ( )
protected

◆ compute_x_delta()

double RegionMotionDrag::compute_x_delta ( GdkEvent const *  ,
Temporal::timepos_t  
)
protected

◆ finished()

virtual void RegionMotionDrag::finished ( GdkEvent e,
bool  m 
)
virtual

Called when a drag has finished.

Parameters
eEvent describing the finish.
mtrue if some movement occurred, otherwise false.

Implements Drag.

Reimplemented in RegionInsertDrag, and RegionMoveDrag.

◆ motion()

virtual void RegionMotionDrag::motion ( GdkEvent e,
bool  f 
)
virtual

Called when a drag motion has occurred.

Parameters
eEvent describing the motion.
ftrue if this is the first movement, otherwise false.

Implements Drag.

Reimplemented in RegionMoveDrag.

◆ regions_came_from_canvas()

virtual bool RegionMotionDrag::regions_came_from_canvas ( ) const
pure virtual
Returns
true if the regions being ‘moved’ came from somewhere on the canvas; false if they came from outside (e.g. from the region list).

Implemented in RegionInsertDrag, and RegionMoveDrag.

◆ start_grab()

virtual void RegionMotionDrag::start_grab ( GdkEvent e,
Gdk::Cursor c 
)
virtual

Called to start a grab of an item.

Parameters
eEvent that caused the grab to start.
cCursor to use, or 0.

Reimplemented from Drag.

◆ y_movement_allowed()

virtual bool RegionMotionDrag::y_movement_allowed ( int  ,
double  ,
int  skip_invisible = 0 
) const
protectedvirtual

Member Data Documentation

◆ _ddropzone

uint32_t RegionMotionDrag::_ddropzone
private

Definition at line 498 of file editor_drag.h.

◆ _ignore_video_lock

bool RegionMotionDrag::_ignore_video_lock
protected

Definition at line 488 of file editor_drag.h.

◆ _last_pointer_layer

double RegionMotionDrag::_last_pointer_layer
protected

Definition at line 492 of file editor_drag.h.

◆ _last_pointer_time_axis_view

int RegionMotionDrag::_last_pointer_time_axis_view
protected

Definition at line 491 of file editor_drag.h.

◆ _last_position

Temporal::timepos_t RegionMotionDrag::_last_position
protected

last position of the thing being dragged

Definition at line 489 of file editor_drag.h.

◆ _ndropzone

uint32_t RegionMotionDrag::_ndropzone
private

Definition at line 496 of file editor_drag.h.

◆ _pdropzone

uint32_t RegionMotionDrag::_pdropzone
private

Definition at line 497 of file editor_drag.h.

◆ _total_x_delta

double RegionMotionDrag::_total_x_delta
protected

Definition at line 490 of file editor_drag.h.

◆ ripple_markers

std::vector<ArdourMarker*> RegionMotionDrag::ripple_markers
protected

Definition at line 493 of file editor_drag.h.


The documentation for this class was generated from the following file: