1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-04-24 23:13:42 +02:00

Move code to TrackInfo.cpp

This commit is contained in:
Paul Licameli
2019-06-18 12:40:38 -04:00
parent 015e3abfe5
commit 23b584b529
14 changed files with 1273 additions and 1369 deletions

View File

@@ -60,160 +60,6 @@ enum {
kTimerInterval = 50, // milliseconds
};
namespace TrackInfo
{
void ReCreateSliders();
unsigned MinimumTrackHeight();
struct TCPLine;
void DrawItems
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track &track );
void DrawItems
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack,
const std::vector<TCPLine> &topLines,
const std::vector<TCPLine> &bottomLines );
void CloseTitleDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void MinimizeSyncLockDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void MidiControlsDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
template<typename TrackClass>
void SliderDrawFunction
( LWSlider *(*Selector)
(const wxRect &sliderRect, const TrackClass *t, bool captured,
wxWindow*),
wxDC *dc, const wxRect &rect, const Track *pTrack,
bool captured, bool highlight );
void PanSliderDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void GainSliderDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
#ifdef EXPERIMENTAL_MIDI_OUT
void VelocitySliderDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
#endif
void MuteOrSoloDrawFunction
( wxDC *dc, const wxRect &rect, const Track *pTrack, bool down,
bool captured, bool solo, bool hit );
void WideMuteDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void WideSoloDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void MuteAndSoloDrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void StatusDrawFunction
( const wxString &string, wxDC *dc, const wxRect &rect );
void Status1DrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void Status2DrawFunction
( TrackPanelDrawingContext &context,
const wxRect &rect, const Track *pTrack );
void SetTrackInfoFont(wxDC *dc);
void DrawBackground(
wxDC * dc, const wxRect & rect, bool bSelected, const int vrul );
// void DrawBordersWithin(
// wxDC * dc, const wxRect & rect, const Track &track ) const;
void GetCloseBoxHorizontalBounds( const wxRect & rect, wxRect &dest );
void GetCloseBoxRect(const wxRect & rect, wxRect &dest);
void GetTitleBarHorizontalBounds( const wxRect & rect, wxRect &dest );
void GetTitleBarRect(const wxRect & rect, wxRect &dest);
void GetNarrowMuteHorizontalBounds
( const wxRect & rect, wxRect &dest );
void GetNarrowSoloHorizontalBounds
( const wxRect & rect, wxRect &dest );
void GetWideMuteSoloHorizontalBounds
( const wxRect & rect, wxRect &dest );
void GetMuteSoloRect
(const wxRect & rect, wxRect &dest, bool solo, bool bHasSoloButton,
const Track *pTrack);
void GetSliderHorizontalBounds( const wxPoint &topleft, wxRect &dest );
void GetGainRect(const wxPoint & topLeft, wxRect &dest);
void GetPanRect(const wxPoint & topLeft, wxRect &dest);
#ifdef EXPERIMENTAL_MIDI_OUT
void GetVelocityRect(const wxPoint & topLeft, wxRect &dest);
#endif
void GetMinimizeHorizontalBounds( const wxRect &rect, wxRect &dest );
void GetMinimizeRect(const wxRect & rect, wxRect &dest);
void GetSelectButtonHorizontalBounds( const wxRect &rect, wxRect &dest );
void GetSelectButtonRect(const wxRect & rect, wxRect &dest);
void GetSyncLockHorizontalBounds( const wxRect &rect, wxRect &dest );
void GetSyncLockIconRect(const wxRect & rect, wxRect &dest);
#ifdef USE_MIDI
void GetMidiControlsHorizontalBounds
( const wxRect &rect, wxRect &dest );
void GetMidiControlsRect(const wxRect & rect, wxRect &dest);
#endif
bool HideTopItem( const wxRect &rect, const wxRect &subRect,
int allowance = 0 );
unsigned DefaultNoteTrackHeight();
unsigned DefaultWaveTrackHeight();
LWSlider * GainSlider
(const wxRect &sliderRect, const WaveTrack *t, bool captured,
wxWindow *pParent);
LWSlider * PanSlider
(const wxRect &sliderRect, const WaveTrack *t, bool captured,
wxWindow *pParent);
#ifdef EXPERIMENTAL_MIDI_OUT
LWSlider * VelocitySlider
(const wxRect &sliderRect, const NoteTrack *t, bool captured,
wxWindow *pParent);
#endif
// Non-member, namespace function relying on TrackPanel to invoke it
// when it handles preference update events
void UpdatePrefs( wxWindow *pParent );
};
const int DragThreshold = 3;// Anything over 3 pixels is a drag, else a click.
class AUDACITY_DLL_API TrackPanel final
@@ -370,10 +216,6 @@ public:
(const std::shared_ptr< TrackPanelCell > &pCell);
std::shared_ptr< TrackPanelCell > GetBackgroundCell();
public:
// Accessors...
static bool HasSoloButton(){ return gSoloPref!=wxT("None");}
public:
LWSlider *GainSlider( const WaveTrack *wt );
@@ -432,8 +274,6 @@ public:
protected:
static wxString gSoloPref;
// The screenshot class needs to access internals
friend class ScreenshotCommand;