1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 07:39:42 +02:00

TrackClip moved to TimeShiftHandle; Snap doesn't use Track subclasses

This commit is contained in:
Paul Licameli 2020-09-09 12:44:46 -04:00
parent dc9eaf6a3a
commit 4653b5ed3d
4 changed files with 37 additions and 40 deletions

View File

@ -16,29 +16,14 @@
#include "Project.h"
#include "ProjectSettings.h"
#include "LabelTrack.h"
#include "NoteTrack.h"
#include "WaveClip.h"
#include "Track.h"
#include "ViewInfo.h"
#include "WaveTrack.h"
inline bool operator < (SnapPoint s1, SnapPoint s2)
{
return s1.t < s2.t;
}
TrackClip::TrackClip(Track *t, WaveClip *c)
{
track = origTrack = t;
dstTrack = NULL;
clip = c;
}
TrackClip::~TrackClip()
{
}
SnapManager::SnapManager(const AudacityProject &project,
SnapPointArray candidates,
const ZoomInfo &zoomInfo,

View File

@ -21,32 +21,10 @@
class AudacityProject;
class Track;
using TrackArray = std::vector< Track* >;
class TrackClipArray;
class WaveClip;
class WaveTrack;
class TrackList;
class ZoomInfo;
class wxDC;
class TrackClip
{
public:
TrackClip(Track *t, WaveClip *c);
~TrackClip();
Track *track;
Track *origTrack;
WaveClip *clip;
// These fields are used only during time-shift dragging
WaveTrack *dstTrack;
std::shared_ptr<WaveClip> holder;
};
class TrackClipArray : public std::vector < TrackClip > {};
const int kPixelTolerance = 4;
class SnapPoint

View File

@ -21,6 +21,7 @@ Paul Licameli split from TrackPanel.cpp
#include "../../ProjectHistory.h"
#include "../../ProjectSettings.h"
#include "../../RefreshCode.h"
#include "../../Snap.h"
#include "../../TrackArtist.h"
#include "../../TrackPanelDrawingContext.h"
#include "../../TrackPanelMouseEvent.h"
@ -30,6 +31,18 @@ Paul Licameli split from TrackPanel.cpp
#include "../../WaveTrack.h"
#include "../../../images/Cursors.h"
TrackClip::TrackClip(Track *t, WaveClip *c)
{
track = origTrack = t;
dstTrack = NULL;
clip = c;
}
TrackClip::~TrackClip()
{
}
TimeShiftHandle::TimeShiftHandle
( const std::shared_ptr<Track> &pTrack, bool gripHit )
: mCapturedTrack{ pTrack }

View File

@ -13,10 +13,31 @@ Paul Licameli
#include "../../UIHandle.h"
#include "../../Snap.h"
class SnapManager;
class Track;
using TrackArray = std::vector<Track*>;
class TrackList;
class ViewInfo;
class WaveClip;
class WaveTrack;
class TrackClip
{
public:
TrackClip(Track *t, WaveClip *c);
~TrackClip();
Track *track;
Track *origTrack;
WaveClip *clip;
// These fields are used only during time-shift dragging
WaveTrack *dstTrack;
std::shared_ptr<WaveClip> holder;
};
using TrackClipArray = std::vector <TrackClip>;
struct ClipMoveState {
// non-NULL only if click was in a WaveTrack and without Shift key: