11#ifndef __AUDACITY_BRUSH_HANDLE__
12#define __AUDACITY_BRUSH_HANDLE__
17#include "../../UIHandle.h"
48 bool mCommitted =
false;
52 std::shared_ptr<StateSaver> pStateSaver,
53 const std::shared_ptr<ChannelView> &pChannelView,
56 const std::shared_ptr<SpectralData> &pSpectralData,
63 std::shared_ptr<const Track>
FindTrack()
const override;
71 void HandleHopBinData(
int hopNum,
int freqBinNum);
85 wxWindow *pParent)
override;
93 std::shared_ptr<WaveChannel> FindChannel();
98 const wxRect &rect,
unsigned iPass )
override;
105 double mFreqSnappingRatio { 0.01 };
108 double mOvertonesThreshold { 0.999 };
113 int mMostRecentX{ -1 }, mMostRecentY{ -1 };
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
virtual void Init(AudacityProject &project, bool clearAll)=0
std::shared_ptr< SelectionStateChanger > mSelectionStateChanger
std::shared_ptr< StateSaver > mpStateSaver
long long mSampleCountLowerBound
BrushHandle(const BrushHandle &)
std::weak_ptr< ChannelView > mpView
BrushHandle & operator=(const BrushHandle &)=default
std::shared_ptr< SpectralData > mpSpectralData
Holds various per-project settings values, and sends events to the project when certain values change...
Used for finding the peaks, for snapping to peaks.
Abstract base class for an object holding data associated with points on a time axis.
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
virtual void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass)
Short-lived drawing and event-handling object associated with a TrackPanelCell.
virtual void Enter(bool forward, AudacityProject *pProject)
virtual Result Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject)=0
virtual Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent)=0
virtual std::shared_ptr< const Track > FindTrack() const =0
virtual bool IsDragging() const
virtual HitTestPreview Preview(const TrackPanelMouseState &state, AudacityProject *pProject)=0
virtual bool Escape(AudacityProject *pProject)
virtual Result Cancel(AudacityProject *pProject)=0
virtual Result Click(const TrackPanelMouseEvent &event, AudacityProject *pProject)=0
A Track that contains audio waveform data.