![]() |
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().