Audacity 3.2.0
WaveformVRulerControls.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5WaveformVRulerControls.h
6
7Paul Licameli split from WaveTrackVRulerControls.h
8
9**********************************************************************/
10
11#ifndef __AUDACITY_WAVEFORM_VRULER_CONTROLS__
12#define __AUDACITY_WAVEFORM_VRULER_CONTROLS__
13
14#include "../../../ui/TrackVRulerControls.h" // to inherit
15
16class WaveTrack;
18
20{
23
24public:
25 explicit
26 WaveformVRulerControls( const std::shared_ptr<TrackView> &pTrackView )
27 : TrackVRulerControls( pTrackView ) {}
29
30 std::vector<UIHandlePtr> HitTest(
31 const TrackPanelMouseState &state,
32 const AudacityProject *) override;
33
34 unsigned HandleWheelRotation(
35 const TrackPanelMouseEvent &event,
36 AudacityProject *pProject) override;
37 static unsigned DoHandleWheelRotation(
38 const TrackPanelMouseEvent &event,
39 AudacityProject *pProject, WaveTrack *wt);
40
41private:
42 // TrackPanelDrawable implementation
43 void Draw(
45 const wxRect &rect, unsigned iPass ) override;
46
47 // TrackVRulerControls implementation
48 void UpdateRuler( const wxRect &rect ) override;
49
50 static void DoUpdateVRuler( const wxRect &rect, const WaveTrack *wt );
51
52 std::weak_ptr<WaveformVZoomHandle> mVZoomHandle;
53};
54
55#endif
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:89
A Track that contains audio waveform data.
Definition: WaveTrack.h:57
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
WaveformVRulerControls(const std::shared_ptr< TrackView > &pTrackView)
~WaveformVRulerControls() override
std::weak_ptr< WaveformVZoomHandle > mVZoomHandle
WaveformVRulerControls & operator=(const WaveformVRulerControls &)=delete
static void DoUpdateVRuler(const wxRect &rect, const WaveTrack *wt)
unsigned HandleWheelRotation(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
static unsigned DoHandleWheelRotation(const TrackPanelMouseEvent &event, AudacityProject *pProject, WaveTrack *wt)
std::vector< UIHandlePtr > HitTest(const TrackPanelMouseState &state, const AudacityProject *) override
WaveformVRulerControls(const WaveformVRulerControls &)=delete
void UpdateRuler(const wxRect &rect) override