1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-15 09:01:12 +01:00

Define TrackPanelOverlay, use it to reimplement play indicator and cursor...

... but scrub speed display is disabled
This commit is contained in:
Paul Licameli
2015-08-25 13:35:32 -04:00
committed by Paul Licameli
parent 54ac17c086
commit 1722ee9e32
20 changed files with 895 additions and 352 deletions

View File

@@ -62,6 +62,7 @@ class Tags;
class EffectPlugs;
class TrackPanel;
class TrackPanelOverlay;
class FreqWindow;
class ContrastDialog;
class Meter;
@@ -171,9 +172,13 @@ class AUDACITY_DLL_API AudacityProject final : public wxFrame,
double GetRate() const { return mRate; }
bool ZoomInAvailable() const { return mViewInfo.ZoomInAvailable(); }
bool ZoomOutAvailable() const { return mViewInfo.ZoomOutAvailable(); }
double GetSel0() { return mViewInfo.selectedRegion.t0(); }
double GetSel1() { return mViewInfo.selectedRegion.t1(); }
const SelectedRegion &GetSelection() const { return mViewInfo.selectedRegion; }
SelectedRegion &GetSelection() { return mViewInfo.selectedRegion; }
double GetSel0() const { return mViewInfo.selectedRegion.t0(); }
double GetSel1() const { return mViewInfo.selectedRegion.t1(); }
const ZoomInfo &GetZoomInfo() const { return mViewInfo; }
const ViewInfo &GetViewInfo() const { return mViewInfo; }
ViewInfo &GetViewInfo() { return mViewInfo; }
Track *GetFirstVisible();
void UpdateFirstVisible();
@@ -702,6 +707,10 @@ public:
// CommandManager needs to use private methods
friend class CommandManager;
// TrackPanelOverlay objects
std::unique_ptr<TrackPanelOverlay>
mIndicatorOverlay, mCursorOverlay, mScrubOverlay;
DECLARE_EVENT_TABLE()
};