1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-27 09:38:39 +02:00

Merge: Some simplified argument passing in drawing code

This commit is contained in:
Paul Licameli 2015-06-03 11:27:08 -04:00
commit b01836ed5a
2 changed files with 24 additions and 41 deletions

View File

@ -469,19 +469,11 @@ void TrackArtist::DrawTrack(const Track * t,
drawEnvelope, drawSamples, drawSliders, true, muted); drawEnvelope, drawSamples, drawSliders, true, muted);
break; break;
case WaveTrack::SpectrumDisplay: case WaveTrack::SpectrumDisplay:
DrawSpectrum(wt, dc, r, viewInfo, false, false);
break;
case WaveTrack::SpectrumLogDisplay: case WaveTrack::SpectrumLogDisplay:
DrawSpectrum(wt, dc, r, viewInfo, false, true);
break;
case WaveTrack::SpectralSelectionDisplay: case WaveTrack::SpectralSelectionDisplay:
DrawSpectrum(wt, dc, r, viewInfo, false, false);
break;
case WaveTrack::SpectralSelectionLogDisplay: case WaveTrack::SpectralSelectionLogDisplay:
DrawSpectrum(wt, dc, r, viewInfo, false, true);
break;
case WaveTrack::PitchDisplay: case WaveTrack::PitchDisplay:
DrawSpectrum(wt, dc, r, viewInfo, true, false); DrawSpectrum(wt, dc, r, viewInfo);
break; break;
} }
if (mbShowTrackNameInWaveform && if (mbShowTrackNameInWaveform &&
@ -1130,15 +1122,13 @@ void TrackArtist::DrawWaveformBackground(wxDC &dc, const wxRect &r, const double
} }
void TrackArtist::DrawMinMaxRMS(wxDC &dc, const wxRect &r, const double env[],
float zoomMin, float zoomMax, bool dB,
const WaveDisplay &display, bool /* showProgress */, bool muted
#ifdef EXPERIMENTAL_OUTPUT_DISPLAY #ifdef EXPERIMENTAL_OUTPUT_DISPLAY
void TrackArtist::DrawMinMaxRMS(wxDC &dc, const wxRect &r, const double env[], , const float gain
float zoomMin, float zoomMax, bool dB,
const WaveDisplay &display, bool showProgress, bool muted, const float gain)
#else
void TrackArtist::DrawMinMaxRMS(wxDC &dc, const wxRect &r, const double env[],
float zoomMin, float zoomMax, bool dB,
const WaveDisplay &display, bool WXUNUSED(showProgress), bool muted)
#endif #endif
)
{ {
const float *const min = display.min; const float *const min = display.min;
const float *const max = display.max; const float *const max = display.max;
@ -1504,8 +1494,8 @@ void TrackArtist::DrawWaveform(WaveTrack *track,
} }
if (drawSliders) { if (drawSliders) {
DrawTimeSlider(track, dc, r, viewInfo, true); // directed right DrawTimeSlider(dc, r, true); // directed right
DrawTimeSlider(track, dc, r, viewInfo, false); // directed left DrawTimeSlider(dc, r, false); // directed left
} }
} }
@ -1764,10 +1754,8 @@ void TrackArtist::DrawClipWaveform(WaveTrack *track,
} }
void TrackArtist::DrawTimeSlider(WaveTrack * WXUNUSED(track), void TrackArtist::DrawTimeSlider(wxDC & dc,
wxDC & dc,
const wxRect & r, const wxRect & r,
const ViewInfo * WXUNUSED(viewInfo),
bool rightwards) bool rightwards)
{ {
const int border = 3; // 3 pixels all round. const int border = 3; // 3 pixels all round.
@ -1826,9 +1814,7 @@ void TrackArtist::DrawTimeSlider(WaveTrack * WXUNUSED(track),
void TrackArtist::DrawSpectrum(WaveTrack *track, void TrackArtist::DrawSpectrum(WaveTrack *track,
wxDC & dc, wxDC & dc,
const wxRect & r, const wxRect & r,
const ViewInfo *viewInfo, const ViewInfo *viewInfo)
bool autocorrelation,
bool logF)
{ {
DrawBackgroundWithSelection(&dc, r, track, blankSelectedBrush, blankBrush, DrawBackgroundWithSelection(&dc, r, track, blankSelectedBrush, blankBrush,
viewInfo->selectedRegion.t0(), viewInfo->selectedRegion.t1(), viewInfo->selectedRegion.t0(), viewInfo->selectedRegion.t1(),
@ -1836,7 +1822,7 @@ void TrackArtist::DrawSpectrum(WaveTrack *track,
WaveTrackCache cache(track); WaveTrackCache cache(track);
for (WaveClipList::compatibility_iterator it = track->GetClipIterator(); it; it = it->GetNext()) { for (WaveClipList::compatibility_iterator it = track->GetClipIterator(); it; it = it->GetNext()) {
DrawClipSpectrum(cache, it->GetData(), dc, r, viewInfo, autocorrelation, logF); DrawClipSpectrum(cache, it->GetData(), dc, r, viewInfo);
} }
} }
@ -1911,15 +1897,17 @@ void TrackArtist::DrawClipSpectrum(WaveTrackCache &cache,
WaveClip *clip, WaveClip *clip,
wxDC & dc, wxDC & dc,
const wxRect & r, const wxRect & r,
const ViewInfo *viewInfo, const ViewInfo *viewInfo)
bool autocorrelation,
bool logF)
{ {
#ifdef PROFILE_WAVEFORM #ifdef PROFILE_WAVEFORM
Profiler profiler; Profiler profiler;
#endif #endif
const WaveTrack *const track = cache.GetTrack(); const WaveTrack *const track = cache.GetTrack();
const int display = track->GetDisplay();
const bool autocorrelation = (WaveTrack::PitchDisplay == display);
const bool logF = (WaveTrack::SpectrumLogDisplay == display
|| WaveTrack::SpectralSelectionLogDisplay == display);
enum { MONOCHROME_LINE = 230, COLORED_LINE = 0 }; enum { MONOCHROME_LINE = 230, COLORED_LINE = 0 };
enum { DASH_LENGTH = 10 /* pixels */ }; enum { DASH_LENGTH = 10 /* pixels */ };

View File

@ -113,8 +113,7 @@ class AUDACITY_DLL_API TrackArtist {
bool dB, bool muted); bool dB, bool muted);
void DrawSpectrum(WaveTrack *track, void DrawSpectrum(WaveTrack *track,
wxDC & dc, const wxRect & r, const ViewInfo *viewInfo, wxDC & dc, const wxRect & r, const ViewInfo *viewInfo);
bool autocorrelation, bool logF);
#ifdef USE_MIDI #ifdef USE_MIDI
int GetBottom(NoteTrack *t, const wxRect &r); int GetBottom(NoteTrack *t, const wxRect &r);
void DrawNoteBackground(NoteTrack *track, wxDC &dc, void DrawNoteBackground(NoteTrack *track, wxDC &dc,
@ -134,8 +133,7 @@ class AUDACITY_DLL_API TrackArtist {
void DrawTimeTrack(TimeTrack *track, void DrawTimeTrack(TimeTrack *track,
wxDC & dc, const wxRect & r, const ViewInfo *viewInfo); wxDC & dc, const wxRect & r, const ViewInfo *viewInfo);
void DrawTimeSlider(WaveTrack *track, void DrawTimeSlider(wxDC & dc, const wxRect & r,
wxDC & dc, const wxRect & r, const ViewInfo *viewInfo,
bool rightwards); bool rightwards);
void DrawClipWaveform(WaveTrack *track, WaveClip *clip, void DrawClipWaveform(WaveTrack *track, WaveClip *clip,
@ -144,8 +142,7 @@ class AUDACITY_DLL_API TrackArtist {
bool dB, bool muted); bool dB, bool muted);
void DrawClipSpectrum(WaveTrackCache &cache, WaveClip *clip, void DrawClipSpectrum(WaveTrackCache &cache, WaveClip *clip,
wxDC & dc, const wxRect & r, const ViewInfo *viewInfo, wxDC & dc, const wxRect & r, const ViewInfo *viewInfo);
bool autocorrelation, bool logF);
// Waveform utility functions // Waveform utility functions
@ -154,15 +151,13 @@ class AUDACITY_DLL_API TrackArtist {
const sampleCount where[], const sampleCount where[],
sampleCount ssel0, sampleCount ssel1, sampleCount ssel0, sampleCount ssel1,
bool drawEnvelope, bool bIsSyncLockSelected); bool drawEnvelope, bool bIsSyncLockSelected);
void DrawMinMaxRMS(wxDC &dc, const wxRect &r, const double env[],
float zoomMin, float zoomMax, bool dB,
const WaveDisplay &display, bool /* showProgress */, bool muted
#ifdef EXPERIMENTAL_OUTPUT_DISPLAY #ifdef EXPERIMENTAL_OUTPUT_DISPLAY
void DrawMinMaxRMS(wxDC & dc, const wxRect & r, const double env[], , const float gain
float zoomMin, float zoomMax, bool dB,
const WaveDisplay &display, bool showProgress, bool muted, const float gain);
#else
void DrawMinMaxRMS(wxDC & dc, const wxRect & r, const double env[],
float zoomMin, float zoomMax, bool dB,
const WaveDisplay &display, bool showProgress, bool muted);
#endif #endif
);
void DrawIndividualSamples(wxDC & dc, const wxRect & r, void DrawIndividualSamples(wxDC & dc, const wxRect & r,
float zoomMin, float zoomMax, bool dB, float zoomMin, float zoomMax, bool dB,
WaveClip *clip, WaveClip *clip,