Audacity 3.2.0
|
#include <TimeShiftHandle.h>
Public Member Functions | |
CoarseTrackShifter (Track &track) | |
~CoarseTrackShifter () override | |
Track & | GetTrack () const override |
There is always an associated track. More... | |
HitTestResult | HitTest (double, const ViewInfo &, HitTestParams *) override |
Decide how shift behaves, based on the track that is clicked in. More... | |
bool | SyncLocks () override |
Returns false. More... | |
Public Member Functions inherited from TrackShifter | |
TrackShifter () | |
TrackShifter (const TrackShifter &)=delete | |
TrackShifter & | operator= (const TrackShifter &)=delete |
virtual | ~TrackShifter ()=0 |
virtual Track & | GetTrack () const =0 |
There is always an associated track. More... | |
virtual HitTestResult | HitTest (double time, const ViewInfo &viewInfo, HitTestParams *pParams=nullptr)=0 |
Decide how shift behaves, based on the track that is clicked in. More... | |
const Intervals & | FixedIntervals () const |
Return special intervals of the track that will not move. More... | |
const Intervals & | MovingIntervals () const |
Return special intervals of the track that may move. More... | |
void | UnfixIntervals (std::function< bool(const ChannelGroupInterval &)> pred) |
Change intervals satisfying a predicate from fixed to moving. More... | |
void | UnfixAll () |
Change all intervals from fixed to moving. More... | |
virtual void | SelectInterval (TimeInterval interval) |
Notifies the shifter that a region is selected, so it may update its fixed and moving intervals. More... | |
virtual bool | SyncLocks ()=0 |
Whether unfixing of an interval should propagate to all overlapping intervals in the sync lock group. More... | |
virtual double | HintOffsetLarger (double desiredOffset) |
Given amount to shift by horizontally, maybe adjust it from zero to suggest minimum distance. More... | |
virtual double | QuantizeOffset (double desiredOffset) |
Given amount to shift by horizontally, do any preferred rounding, before placement constraint checks. More... | |
virtual double | AdjustOffsetSmaller (double desiredOffset) |
Given amount to shift by horizontally, maybe adjust it toward zero to meet placement constraints. More... | |
virtual bool | MayMigrateTo (Track &otherTrack) |
virtual Intervals | Detach () |
Remove all moving intervals from the track, if possible. More... | |
virtual bool | AdjustFit (const Track &otherTrack, const Intervals &intervals, double &desiredOffset, double tolerance) |
virtual bool | Attach (Intervals intervals, double offset) |
Put moving intervals into the track, which may have migrated from another. More... | |
virtual bool | FinishMigration () |
When dragging is done, do (once) the final steps of migration (which may be expensive) More... | |
virtual void | DoHorizontalOffset (double offset) |
virtual double | AdjustT0 (double t0) const |
Private Attributes | |
const std::shared_ptr< Track > | mpTrack |
Additional Inherited Members | |
Public Types inherited from TrackShifter | |
enum class | HitTestResult { Miss , Selection , Intervals , Track } |
Possibilities for HitTest on the clicked track. More... | |
using | Intervals = std::vector< std::shared_ptr< ChannelGroupInterval > > |
Protected Member Functions inherited from TrackShifter | |
void | CommonSelectInterval (TimeInterval interval) |
bool | CommonMayMigrateTo (Track &otherTrack) |
void | InitIntervals () |
Derived class constructor can initialize all intervals reported by the track as fixed, none moving. More... | |
bool | AllFixed () const |
Protected Attributes inherited from TrackShifter | |
Intervals | mFixed |
Intervals | mMoving |
Used in default of other reimplementations to shift any track as a whole, invoking Track::ShiftBy()
Definition at line 213 of file TimeShiftHandle.h.
CoarseTrackShifter::CoarseTrackShifter | ( | Track & | track | ) |
Definition at line 249 of file TimeShiftHandle.cpp.
References TrackShifter::InitIntervals().
|
overridedefault |
|
inlineoverridevirtual |
There is always an associated track.
Implements TrackShifter.
Definition at line 217 of file TimeShiftHandle.h.
References mpTrack.
|
overridevirtual |
Decide how shift behaves, based on the track that is clicked in.
If the return value is Intervals or Selection, then some intervals may be marked moving as a side effect
!pParams || (time == pParams->viewInfo.PositionToTime(pParams->xx, pParams->rect.x))
time | A time value to test |
pParams | Optional extra information |
Implements TrackShifter.
Definition at line 257 of file TimeShiftHandle.cpp.
|
overridevirtual |
Returns false.
Implements TrackShifter.
Definition at line 263 of file TimeShiftHandle.cpp.
|
private |
Definition at line 225 of file TimeShiftHandle.h.
Referenced by GetTrack().