Audacity 3.2.0
WaveformView.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5WaveformView.h
6
7Paul Licameli split from WaveTrackView.h
8
9**********************************************************************/
10
11#ifndef __AUDACITY_WAVEFORM_VIEW__
12#define __AUDACITY_WAVEFORM_VIEW__
13
14#include "WaveTrackView.h" // to inherit
15
16class WaveTrack;
17class SampleHandle;
18class EnvelopeHandle;
19
20class WaveformView final : public WaveTrackSubView
21{
22 WaveformView( const WaveformView& ) = delete;
23 WaveformView &operator=( const WaveformView& ) = delete;
24
25public:
27 ~WaveformView() override;
28
29 const Type &SubViewType() const override;
30
31 std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() override;
32
33
34private:
35 // TrackPanelDrawable implementation
36 void Draw(
38 const wxRect &rect, unsigned iPass ) override;
39 static void DoDraw(TrackPanelDrawingContext &context,
40 const WaveTrack *track,
41 const WaveClip* selectedClip,
42 const wxRect & rect,
43 bool muted);
44
45 std::vector<UIHandlePtr> DetailedHitTest(
46 const TrackPanelMouseState &state,
47 const AudacityProject *pProject, int currentTool, bool bMultiTool )
48 override;
49
50protected:
51 void DoSetMinimized( bool minimized ) override;
52
53 std::weak_ptr<SampleHandle> mSampleHandle;
54 std::weak_ptr<EnvelopeHandle> mEnvelopeHandle;
55};
56
57#endif
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
This allows multiple clips to be a part of one WaveTrack.
Definition: WaveClip.h:101
A Track that contains audio waveform data.
Definition: WaveTrack.h:51
WaveTrackSubView(WaveTrackView &waveTrackView)
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
WaveformView(const WaveformView &)=delete
std::weak_ptr< EnvelopeHandle > mEnvelopeHandle
Definition: WaveformView.h:54
std::shared_ptr< TrackVRulerControls > DoGetVRulerControls() override
static void DoDraw(TrackPanelDrawingContext &context, const WaveTrack *track, const WaveClip *selectedClip, const wxRect &rect, bool muted)
~WaveformView() override
WaveformView & operator=(const WaveformView &)=delete
std::weak_ptr< SampleHandle > mSampleHandle
Definition: WaveformView.h:53
void DoSetMinimized(bool minimized) override
const Type & SubViewType() const override
std::vector< UIHandlePtr > DetailedHitTest(const TrackPanelMouseState &state, const AudacityProject *pProject, int currentTool, bool bMultiTool) override