Audacity 3.2.0
Classes | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
SpectrumView Class Referencefinal

#include <SpectrumView.h>

Inheritance diagram for SpectrumView:
[legend]
Collaboration diagram for SpectrumView:
[legend]

Classes

class  SpectralDataSaver
 

Public Member Functions

 SpectrumView (WaveChannelView &waveChannelView, const SpectrumView &src)=delete
 
 SpectrumView (WaveChannelView &waveChannelView)
 
 ~SpectrumView () override
 
const TypeSubViewType () const override
 
std::shared_ptr< ChannelVRulerControlsDoGetVRulerControls () override
 
std::shared_ptr< SpectralDataGetSpectralData ()
 
bool IsSpectral () const override
 
void CopyToSubView (WaveChannelSubView *destSubView) const override
 
- Public Member Functions inherited from WaveChannelSubView
 WaveChannelSubView (WaveChannelView &waveChannelView)
 
virtual const TypeSubViewType () const =0
 
virtual void CopyToSubView (WaveChannelSubView *destSubView) const
 
std::pair< bool, std::vector< UIHandlePtr > > DoDetailedHitTest (const TrackPanelMouseState &state, const AudacityProject *pProject, int currentTool, bool bMultiTool, const std::shared_ptr< WaveTrack > &wt)
 
- Public Member Functions inherited from CommonChannelView
std::shared_ptr< TrackPanelCellContextMenuDelegate () override
 
std::vector< UIHandlePtrHitTest (const TrackPanelMouseState &, const AudacityProject *pProject) final
 
void TimeShiftHitTest ()
 
virtual int GetMinimizedHeight () const override
 
 ChannelView (const std::shared_ptr< Track > &pTrack, size_t iChannel)
 Construct from a track and a channel index. More...
 
- Public Member Functions inherited from ChannelView
 ChannelView (const std::shared_ptr< Track > &pTrack, size_t iChannel)
 Construct from a track and a channel index. More...
 
virtual ~ChannelView ()=0
 
void CopyTo (Track &track) const override
 Copy state, for undo/redo purposes. More...
 
bool GetMinimized () const
 
void SetMinimized (bool minimized)
 
int GetCumulativeHeightBefore () const
 
int GetExpandedHeight () const
 
virtual int GetMinimizedHeight () const =0
 
int GetHeight () const
 
void SetCumulativeHeightBefore (int y)
 Set cached value dependent on position within the track list. More...
 
void SetExpandedHeight (int height)
 
std::shared_ptr< ChannelVRulerControlsGetVRulerControls ()
 
std::shared_ptr< const ChannelVRulerControlsGetVRulerControls () const
 
virtual std::shared_ptr< CommonTrackCellGetAffordanceControls ()
 
void WriteXMLAttributes (XMLWriter &) const override
 Serialize persistent attributes. More...
 
bool HandleXMLAttribute (const std::string_view &attr, const XMLAttributeValueView &valueView) override
 Deserialize an attribute, returning true if recognized. More...
 
virtual Refinement GetSubViews (const wxRect &rect)
 
virtual bool IsSpectral () const
 
virtual void DoSetMinimized (bool isMinimized)
 
- Public Member Functions inherited from CommonTrackCell
 CommonTrackCell (const std::shared_ptr< Track > &pTrack, size_t iChannel)
 Construct from a track and a channel index. More...
 
 CommonTrackCell (ChannelGroup &group, size_t iChannel)
 Construct from a channel group and a channel index. More...
 
 ~CommonTrackCell ()
 
std::shared_ptr< TrackDoFindTrack () override
 
void Reparent (const std::shared_ptr< Track > &parent) override
 Object may be shared among tracks but hold a special back-pointer to one of them; reassign it. More...
 
size_t GetChannelIndex () const
 
std::shared_ptr< ChannelFindChannel ()
 May return null. More...
 
std::shared_ptr< const ChannelFindChannel () const
 May return null. More...
 
- Public Member Functions inherited from CommonTrackPanelCell
 CommonTrackPanelCell ()
 
virtual ~CommonTrackPanelCell ()=0
 
HitTestPreview DefaultPreview (const TrackPanelMouseState &, const AudacityProject *) override
 
std::shared_ptr< TrackFindTrack ()
 
std::shared_ptr< const TrackFindTrack () const
 
virtual std::vector< MenuItemGetMenuItems (const wxRect &rect, const wxPoint *pPosition, AudacityProject *pProject)
 Return a list of items for DoContextMenu() (empties for separators) More...
 
- Public Member Functions inherited from TrackPanelCell
 TrackPanelCell ()=default
 
 TrackPanelCell (const TrackPanelCell &)=delete
 
TrackPanelCelloperator= (const TrackPanelCell &)=delete
 
virtual ~TrackPanelCell ()=0
 
virtual HitTestPreview DefaultPreview (const TrackPanelMouseState &state, const AudacityProject *pProject)
 
virtual std::vector< UIHandlePtrHitTest (const TrackPanelMouseState &state, const AudacityProject *pProject)=0
 
virtual unsigned HandleWheelRotation (const TrackPanelMouseEvent &event, AudacityProject *pProject)
 
virtual std::shared_ptr< TrackPanelCellContextMenuDelegate ()
 
virtual unsigned DoContextMenu (const wxRect &rect, wxWindow *pParent, const wxPoint *pPosition, AudacityProject *pProject)
 
virtual unsigned CaptureKey (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project)
 
virtual unsigned KeyDown (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project)
 
virtual unsigned KeyUp (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project)
 
virtual unsigned Char (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project)
 
virtual unsigned LoseFocus (AudacityProject *project)
 
- Public Member Functions inherited from TrackPanelNode
 TrackPanelNode ()
 
virtual ~TrackPanelNode ()=0
 
- Public Member Functions inherited from TrackPanelDrawable
virtual ~TrackPanelDrawable ()=0
 
virtual void Draw (TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass)
 
virtual wxRect DrawingArea (TrackPanelDrawingContext &context, const wxRect &rect, const wxRect &panelRect, unsigned iPass)
 
- Public Member Functions inherited from TrackAttachment
virtual ~TrackAttachment ()
 
virtual void CopyTo (Track &track) const
 Copy state, for undo/redo purposes. More...
 
virtual void Reparent (const std::shared_ptr< Track > &parent)
 Object may be shared among tracks but hold a special back-pointer to one of them; reassign it. More...
 
virtual void WriteXMLAttributes (XMLWriter &) const
 Serialize persistent attributes. More...
 
virtual bool HandleXMLAttribute (const std::string_view &attr, const XMLAttributeValueView &valueView)
 Deserialize an attribute, returning true if recognized. More...
 
- Public Member Functions inherited from ClientData::Base
virtual ~Base ()
 

Static Public Attributes

static int mBrushRadius
 

Private Member Functions

SpectrumViewoperator= (const SpectrumView &)=delete
 
void Draw (TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
 
void DoDraw (TrackPanelDrawingContext &context, size_t channel, const WaveTrack &track, const WaveTrack::Interval *selectedClip, const wxRect &rect)
 
std::vector< UIHandlePtrDetailedHitTest (const TrackPanelMouseState &state, const AudacityProject *pProject, int currentTool, bool bMultiTool) override
 
unsigned CaptureKey (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) override
 
unsigned KeyDown (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) override
 
unsigned Char (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) override
 
void DoSetMinimized (bool minimized) override
 

Static Private Member Functions

static void ForAll (AudacityProject &project, std::function< void(SpectrumView &view)> fn)
 

Private Attributes

std::weak_ptr< BrushHandlemBrushHandle
 
std::shared_ptr< SpectralDatampSpectralData
 
std::shared_ptr< SpectralDatampBackupSpectralData
 
bool mOnBrushTool
 

Additional Inherited Members

- Public Types inherited from WaveChannelSubView
using Display = WaveChannelViewConstants::Display
 
using Type = WaveChannelSubViewType
 
- Public Types inherited from ChannelView
enum  : unsigned { DefaultHeight = 150 }
 
using Refinement = std::vector< std::pair< wxCoord, std::shared_ptr< ChannelView > > >
 
- Static Public Member Functions inherited from CommonChannelView
static void GetEnvelopeValues (const Envelope &env, double aligned_time, double sampleDur, double *buffer, int bufferLen, int leftOffset, const ZoomInfo &zoomInfo)
 Get many envelope points for pixel columns at once, but don't assume uniform time per pixel. More...
 
- Static Public Member Functions inherited from ChannelView
static ChannelViewGet (Channel &channel)
 
static const ChannelViewGet (const Channel &channel)
 
static ChannelViewFind (Channel *pChannel)
 
static const ChannelViewFind (const Channel *pChannel)
 
static int GetChannelGroupHeight (const Track *pTrack)
 
static int GetCumulativeHeight (const Channel *pChannel)
 
static int GetCumulativeHeight (const Track *pTrack)
 
static int GetTotalHeight (const TrackList &list)
 
- Static Public Member Functions inherited from TrackPanelDrawable
static wxRect MaximizeWidth (const wxRect &rect, const wxRect &panelRect)
 
static wxRect MaximizeHeight (const wxRect &rect, const wxRect &panelRect)
 
- Public Attributes inherited from CommonChannelView
std::weak_ptr< TimeShiftHandlemTimeShiftHandle
 
- Public Attributes inherited from ChannelView
std::pair< int, int > vrulerSize
 
- Protected Member Functions inherited from WaveChannelSubView
std::weak_ptr< WaveChannelViewGetWaveChannelView () const
 
std::vector< MenuItemGetMenuItems (const wxRect &rect, const wxPoint *pPosition, AudacityProject *pProject) override
 Return a list of items for DoContextMenu() (empties for separators) More...
 
virtual std::vector< UIHandlePtrDetailedHitTest (const TrackPanelMouseState &, const AudacityProject *pProject, int currentTool, bool bMultiTool)=0
 
virtual std::shared_ptr< ChannelVRulerControlsDoGetVRulerControls ()=0
 
- Protected Member Functions inherited from CommonTrackPanelCell
virtual std::shared_ptr< TrackDoFindTrack ()=0
 
unsigned DoContextMenu (const wxRect &rect, wxWindow *pParent, const wxPoint *pPosition, AudacityProject *pProject) override
 
unsigned HandleWheelRotation (const TrackPanelMouseEvent &event, AudacityProject *pProject) override
 
- Static Protected Member Functions inherited from WaveChannelSubView
static void DrawBoldBoundaries (TrackPanelDrawingContext &context, const WaveTrack &track, const wxRect &rect)
 
- Protected Attributes inherited from CommonChannelView
std::weak_ptr< SelectHandlemSelectHandle
 
- Protected Attributes inherited from ChannelView
std::shared_ptr< ChannelVRulerControlsmpVRulerControls
 

Detailed Description

Definition at line 123 of file SpectrumView.h.

Constructor & Destructor Documentation

◆ SpectrumView() [1/2]

SpectrumView::SpectrumView ( WaveChannelView waveChannelView,
const SpectrumView src 
)
delete

◆ SpectrumView() [2/2]

SpectrumView::SpectrumView ( WaveChannelView waveChannelView)
explicit

Definition at line 53 of file SpectrumView.cpp.

54 : WaveChannelSubView(waveChannelView)
55{
56 auto wt = static_cast<WaveTrack*>( FindTrack().get() );
57 mpSpectralData = std::make_shared<SpectralData>(wt->GetRate());
58 mOnBrushTool = false;
59}
std::shared_ptr< Track > FindTrack()
std::shared_ptr< SpectralData > mpSpectralData
Definition: SpectrumView.h:148
WaveChannelSubView(WaveChannelView &waveChannelView)
A Track that contains audio waveform data.
Definition: WaveTrack.h:227

References CommonTrackPanelCell::FindTrack(), mOnBrushTool, and mpSpectralData.

Here is the call graph for this function:

◆ ~SpectrumView()

SpectrumView::~SpectrumView ( )
overridedefault

Member Function Documentation

◆ CaptureKey()

unsigned SpectrumView::CaptureKey ( wxKeyEvent &  event,
ViewInfo viewInfo,
wxWindow *  pParent,
AudacityProject project 
)
overrideprivatevirtual

Reimplemented from TrackPanelCell.

Definition at line 1069 of file SpectrumView.cpp.

1071{
1072 bool capture = ShouldCaptureEvent(event, mpSpectralData.get());
1073 event.Skip(!capture);
1075}
static bool ShouldCaptureEvent(wxKeyEvent &event, SpectralData *pData)

References mpSpectralData, RefreshCode::RefreshNone, and ShouldCaptureEvent().

Here is the call graph for this function:

◆ Char()

unsigned SpectrumView::Char ( wxKeyEvent &  event,
ViewInfo viewInfo,
wxWindow *  pParent,
AudacityProject project 
)
overrideprivatevirtual

Reimplemented from TrackPanelCell.

Definition at line 1087 of file SpectrumView.cpp.

1089{
1090 bool capture = ShouldCaptureEvent(event, mpSpectralData.get());
1091 event.Skip(!capture);
1093}

References mpSpectralData, RefreshCode::RefreshNone, and ShouldCaptureEvent().

Here is the call graph for this function:

◆ CopyToSubView()

void SpectrumView::CopyToSubView ( WaveChannelSubView destSubView) const
overridevirtual

Reimplemented from WaveChannelSubView.

Definition at line 230 of file SpectrumView.cpp.

231{
232 if (const auto pDest = dynamic_cast< SpectrumView* >(destSubView)) {
233 pDest->mpSpectralData =
234 std::make_shared<SpectralData>(mpSpectralData->GetSR());
235 pDest->mpSpectralData->CopyFrom(*mpSpectralData);
236 }
237}

References mpSpectralData.

◆ DetailedHitTest()

std::vector< UIHandlePtr > SpectrumView::DetailedHitTest ( const TrackPanelMouseState state,
const AudacityProject pProject,
int  currentTool,
bool  bMultiTool 
)
overrideprivatevirtual

Implements CommonChannelView.

Definition at line 166 of file SpectrumView.cpp.

169{
170 const auto wt = std::static_pointer_cast< WaveTrack >( FindTrack() );
171 std::vector<UIHandlePtr> results;
172
173#ifdef EXPERIMENTAL_BRUSH_TOOL
174 mOnBrushTool = (currentTool == ToolCodes::brushTool);
175 if(mOnBrushTool){
176 const auto result = BrushHandleHitTest(
177 mBrushHandle, state,
178 pProject, std::static_pointer_cast<SpectrumView>(shared_from_this()),
180 results.push_back(result);
181 return results;
182 }
183#endif
184
186 state, pProject, currentTool, bMultiTool, wt
187 ).second;
188}
static UIHandlePtr BrushHandleHitTest(std::weak_ptr< BrushHandle > &holder, const TrackPanelMouseState &st, const AudacityProject *pProject, const std::shared_ptr< SpectrumView > &pChannelView, const std::shared_ptr< SpectralData > &mpData)
std::weak_ptr< BrushHandle > mBrushHandle
Definition: SpectrumView.h:144
std::pair< bool, std::vector< UIHandlePtr > > DoDetailedHitTest(const TrackPanelMouseState &state, const AudacityProject *pProject, int currentTool, bool bMultiTool, const std::shared_ptr< WaveTrack > &wt)

References BrushHandleHitTest(), WaveChannelSubView::DoDetailedHitTest(), CommonTrackPanelCell::FindTrack(), mBrushHandle, mOnBrushTool, and mpSpectralData.

Here is the call graph for this function:

◆ DoDraw()

void SpectrumView::DoDraw ( TrackPanelDrawingContext context,
size_t  channel,
const WaveTrack track,
const WaveTrack::Interval selectedClip,
const wxRect &  rect 
)
private

Definition at line 858 of file SpectrumView.cpp.

861{
862 const auto artist = TrackArtist::Get( context );
863 const auto &blankSelectedBrush = artist->blankSelectedBrush;
864 const auto &blankBrush = artist->blankBrush;
866 context, rect, &track, blankSelectedBrush, blankBrush );
867
868 // Really useful channel numbers are not yet passed in
869 // TODO wide wave tracks -- really use channel
870 assert(channel == 0);
871 channel = (track.IsLeader() ? 0 : 1);
872
873 // TODO wide wave tracks -- remove this workaround
874 auto pLeader = *track.GetHolder()->Find(&track);
875 assert(pLeader->IsLeader());
876
877 for (const auto pInterval : static_cast<const WaveTrack*>(pLeader)
878 ->GetChannel(channel)->Intervals()
879 ) {
880 bool selected = selectedClip &&
881 WaveChannelView::WideClipContains(*selectedClip, pInterval->GetClip());
882 DrawClipSpectrum(context, track, *pInterval, rect, mpSpectralData,
883 selected);
884 }
885
886 DrawBoldBoundaries(context, track, rect);
887}
static TrackArtist * Get(TrackPanelDrawingContext &)
Definition: TrackArtist.cpp:69
TrackList * GetHolder() const
Definition: Track.h:1480
TrackIter< Track > Find(Track *pTrack)
Definition: Track.cpp:519
static void DrawBoldBoundaries(TrackPanelDrawingContext &context, const WaveTrack &track, const wxRect &rect)
static bool WideClipContains(const WaveTrack::Interval &wideClip, const WaveClip &clip)
bool IsLeader() const override
Definition: WaveTrack.cpp:2820
AUDACITY_DLL_API void DrawBackgroundWithSelection(TrackPanelDrawingContext &context, const wxRect &rect, const Track *track, const wxBrush &selBrush, const wxBrush &unselBrush, bool useSelection=true)
Definition: TrackArt.cpp:651
void DrawClipSpectrum(TrackPanelDrawingContext &context, const WaveTrack &track, const WaveChannelInterval &clip, const wxRect &rect, const std::shared_ptr< SpectralData > &mpSpectralData, bool selected)

References TrackArt::DrawBackgroundWithSelection(), WaveChannelSubView::DrawBoldBoundaries(), anonymous_namespace{SpectrumView.cpp}::DrawClipSpectrum(), TrackList::Find(), TrackArtist::Get(), WaveTrack::Interval::GetClip(), Track::GetHolder(), WaveTrack::IsLeader(), mpSpectralData, and WaveChannelView::WideClipContains().

Referenced by Draw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoGetVRulerControls()

std::shared_ptr< ChannelVRulerControls > SpectrumView::DoGetVRulerControls ( )
overridevirtual

Implements ChannelView.

Definition at line 221 of file SpectrumView.cpp.

222{
223 return std::make_shared<SpectrumVRulerControls>(shared_from_this());
224}

◆ DoSetMinimized()

void SpectrumView::DoSetMinimized ( bool  minimized)
overrideprivatevirtual

Reimplemented from ChannelView.

Definition at line 190 of file SpectrumView.cpp.

191{
192 auto wt = static_cast<WaveTrack*>( FindTrack().get() );
193
194#ifdef EXPERIMENTAL_HALF_WAVE
195 bool bHalfWave;
196 gPrefs->Read(wxT("/GUI/CollapseToHalfWave"), &bHalfWave, false);
197 if( bHalfWave && minimized)
198 {
199 // It is all right to set the top of scale to a huge number,
200 // not knowing the track sampleRate here -- because when retrieving the
201 // value, then we pass in a sample rate and clamp it above to the
202 // Nyquist frequency.
203 constexpr auto max = std::numeric_limits<float>::max();
204 const bool spectrumLinear =
207 // Zoom out full
209 .SetBounds( spectrumLinear ? 0.0f : 1.0f, max );
210 }
211#endif
212
214}
wxT("CloseDown"))
audacity::BasicSettings * gPrefs
Definition: Prefs.cpp:68
virtual void DoSetMinimized(bool isMinimized)
void SetBounds(float min, float max)
static SpectrogramBounds & Get(WaveTrack &track)
Get either the global default settings, or the track's own if previously created.
static SpectrogramSettings & Get(const WaveTrack &track)
Mutative access to attachment even if the track argument is const.
virtual bool Read(const wxString &key, bool *value) const =0

References ChannelView::DoSetMinimized(), CommonTrackPanelCell::FindTrack(), SpectrogramSettings::Get(), SpectrogramBounds::Get(), gPrefs, audacity::BasicSettings::Read(), SpectrogramSettings::scaleType, SpectrogramBounds::SetBounds(), SpectrogramSettings::stLinear, and wxT().

Here is the call graph for this function:

◆ Draw()

void SpectrumView::Draw ( TrackPanelDrawingContext context,
const wxRect &  rect,
unsigned  iPass 
)
overrideprivatevirtual

Reimplemented from TrackPanelDrawable.

Definition at line 889 of file SpectrumView.cpp.

891{
892 if ( iPass == TrackArtist::PassTracks ) {
893 auto &dc = context.dc;
894
895 const auto wt = std::static_pointer_cast<const WaveTrack>(
896 FindTrack()->SubstitutePendingChangedTrack());
897
898 const auto artist = TrackArtist::Get( context );
899
900#if defined(__WXMAC__)
901 wxAntialiasMode aamode = dc.GetGraphicsContext()->GetAntialiasMode();
902 dc.GetGraphicsContext()->SetAntialiasMode(wxANTIALIAS_NONE);
903#endif
904
905 auto waveChannelView = GetWaveChannelView().lock();
906 wxASSERT(waveChannelView.use_count());
907
908 auto selectedClip = waveChannelView->GetSelectedClip();
909 DoDraw(context, GetChannelIndex(), *wt, selectedClip.get(), rect);
910
911#if defined(__WXMAC__)
912 dc.GetGraphicsContext()->SetAntialiasMode(aamode);
913#endif
914 }
915 WaveChannelSubView::Draw(context, rect, iPass);
916}
size_t GetChannelIndex() const
void DoDraw(TrackPanelDrawingContext &context, size_t channel, const WaveTrack &track, const WaveTrack::Interval *selectedClip, const wxRect &rect)
virtual void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass)
std::weak_ptr< WaveChannelView > GetWaveChannelView() const

References TrackPanelDrawingContext::dc, DoDraw(), TrackPanelDrawable::Draw(), CommonTrackPanelCell::FindTrack(), TrackArtist::Get(), CommonTrackCell::GetChannelIndex(), WaveChannelSubView::GetWaveChannelView(), and TrackArtist::PassTracks.

Here is the call graph for this function:

◆ ForAll()

void SpectrumView::ForAll ( AudacityProject project,
std::function< void(SpectrumView &view)>  fn 
)
staticprivate

Definition at line 148 of file SpectrumView.cpp.

150{
151 if (!fn)
152 return;
153 for (const auto wt : TrackList::Get(project).Any<WaveTrack>()) {
154 for (auto pChannel : wt->Channels()) {
155 if (auto pWaveChannelView =
156 dynamic_cast<WaveChannelView*>(&ChannelView::Get(*pChannel))) {
157 for (const auto &pSubView : pWaveChannelView->GetAllSubViews()) {
158 if (const auto sView = dynamic_cast<SpectrumView*>(pSubView.get()))
159 fn( *sView );
160 }
161 }
162 }
163 }
164}
const auto project
static const auto fn
static ChannelView & Get(Channel &channel)
static TrackList & Get(AudacityProject &project)
Definition: Track.cpp:347

References fn, TrackList::Get(), ChannelView::Get(), and project.

Referenced by SpectrumView::SpectralDataSaver::Init(), and SpectrumView::SpectralDataSaver::~SpectralDataSaver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetSpectralData()

std::shared_ptr< SpectralData > SpectrumView::GetSpectralData ( )

Definition at line 226 of file SpectrumView.cpp.

226 {
227 return mpSpectralData;
228}

References mpSpectralData.

◆ IsSpectral()

bool SpectrumView::IsSpectral ( ) const
overridevirtual

Reimplemented from ChannelView.

Definition at line 63 of file SpectrumView.cpp.

64{
65 return true;
66}

◆ KeyDown()

unsigned SpectrumView::KeyDown ( wxKeyEvent &  event,
ViewInfo viewInfo,
wxWindow *  pParent,
AudacityProject project 
)
overrideprivatevirtual

Reimplemented from TrackPanelCell.

Definition at line 1077 of file SpectrumView.cpp.

1078{
1079 bool capture = ShouldCaptureEvent(event, mpSpectralData.get());
1080 event.Skip(!capture);
1082 // Not RefreshCell, because there might be effects in multiple tracks
1085}
static bool ProcessTracks(AudacityProject &project)

References mpSpectralData, SpectralDataManager::ProcessTracks(), project, RefreshCode::RefreshAll, RefreshCode::RefreshNone, and ShouldCaptureEvent().

Here is the call graph for this function:

◆ operator=()

SpectrumView & SpectrumView::operator= ( const SpectrumView )
privatedelete

◆ SubViewType()

auto SpectrumView::SubViewType ( ) const
overridevirtual

Implements WaveChannelSubView.

Definition at line 216 of file SpectrumView.cpp.

217{
218 return sType;
219}
static WaveChannelSubView::Type sType

References sType.

Member Data Documentation

◆ mBrushHandle

std::weak_ptr<BrushHandle> SpectrumView::mBrushHandle
private

Definition at line 147 of file SpectrumView.h.

Referenced by DetailedHitTest().

◆ mBrushRadius

int SpectrumView::mBrushRadius
static

Definition at line 140 of file SpectrumView.h.

◆ mOnBrushTool

bool SpectrumView::mOnBrushTool
private

Definition at line 149 of file SpectrumView.h.

Referenced by DetailedHitTest(), and SpectrumView().

◆ mpBackupSpectralData

std::shared_ptr<SpectralData> SpectrumView::mpBackupSpectralData
private

◆ mpSpectralData

std::shared_ptr<SpectralData> SpectrumView::mpSpectralData
private

The documentation for this class was generated from the following files: