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 WaveChannelView.h
8
9**********************************************************************/
10
11#ifndef __AUDACITY_WAVEFORM_VIEW__
12#define __AUDACITY_WAVEFORM_VIEW__
13
14#include "WaveChannelView.h" // to inherit
15
16class WaveTrack;
17class SampleHandle;
18class EnvelopeHandle;
19
20class WaveformView final : public WaveChannelSubView
21{
22 WaveformView(const WaveformView&) = delete;
24
25public:
27 ~WaveformView() override;
28
29 const Type &SubViewType() const override;
30
31 std::shared_ptr<ChannelVRulerControls> 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 WaveChannel &channel,
41 const WaveTrack::Interval* 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
WaveChannelSubView(WaveChannelView &waveChannelView)
This allows multiple clips to be a part of one WaveTrack.
Definition: WaveClip.h:238
A Track that contains audio waveform data.
Definition: WaveTrack.h:203
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
WaveformView(const WaveformView &)=delete
std::weak_ptr< EnvelopeHandle > mEnvelopeHandle
Definition: WaveformView.h:54
~WaveformView() override
std::shared_ptr< ChannelVRulerControls > DoGetVRulerControls() override
WaveformView & operator=(const WaveformView &)=delete
std::weak_ptr< SampleHandle > mSampleHandle
Definition: WaveformView.h:53
static void DoDraw(TrackPanelDrawingContext &context, const WaveChannel &channel, const WaveTrack::Interval *selectedClip, const wxRect &rect, bool muted)
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