Audacity 3.2.0
WaveformCache.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 WaveformCache.h
6
7 Paul Licameli split from WaveClip.h
8
9*******************************************************************/
10
11#ifndef __AUDACITY_WAVEFORM_CACHE__
12#define __AUDACITY_WAVEFORM_CACHE__
13
14#include "WaveClip.h"
15
16class WaveCache;
17
19{
21 ~WaveClipWaveformCache() override;
22
23 // Cache of values for drawing the waveform
24 std::unique_ptr<WaveCache> mWaveCache;
25 int mDirty { 0 };
26
27 static WaveClipWaveformCache &Get( const WaveClip &clip );
28
29 void MarkChanged() override; // NOFAIL-GUARANTEE
30 void Invalidate() override; // NOFAIL-GUARANTEE
31
33 void Clear();
34
36 bool GetWaveDisplay(const WaveClip &clip, WaveDisplay &display,
37 double t0, double pixelsPerSecond);
38};
39
40#endif
This allows multiple clips to be a part of one WaveTrack.
Definition: WaveClip.h:101
bool GetWaveDisplay(const WaveClip &clip, WaveDisplay &display, double t0, double pixelsPerSecond)
std::unique_ptr< WaveCache > mWaveCache
Definition: WaveformCache.h:24
~WaveClipWaveformCache() override
static WaveClipWaveformCache & Get(const WaveClip &clip)
void Clear()
Delete the wave cache - force redraw. Thread-safe.
void Invalidate() override
void MarkChanged() override