Audacity 3.2.0
NoteTrackVRulerControls.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5NoteTrackVRulerControls.h
6
7Paul Licameli split from TrackPanel.cpp
8
9**********************************************************************/
10
11#ifndef __AUDACITY_NOTE_TRACK_VRULER_CONTROLS__
12#define __AUDACITY_NOTE_TRACK_VRULER_CONTROLS__
13
14#include "../../../ui/ChannelVRulerControls.h"
15
16class NoteTrack;
18
20{
23
24public:
25 explicit
26 NoteTrackVRulerControls(const std::shared_ptr<ChannelView> &pChannelView)
27 : ChannelVRulerControls{ pChannelView } {}
29
30 std::vector<UIHandlePtr> HitTest
31 (const TrackPanelMouseState &state,
32 const AudacityProject *pProject) override;
33
34 unsigned HandleWheelRotation
35 (const TrackPanelMouseEvent &event,
36 AudacityProject *pProject) override;
37
38private:
39 std::shared_ptr<NoteTrack> FindNoteTrack();
40
41 // TrackPanelDrawable implementation
42 void Draw(
44 const wxRect &rect, unsigned iPass ) override;
45
46 // ChannelVRulerControls implementation
47 void UpdateRuler( const wxRect &rect ) override;
48
49 std::weak_ptr<NoteTrackVZoomHandle> mVZoomHandle;
50};
51
52#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
A Track that is used for Midi notes. (Somewhat old code).
Definition: NoteTrack.h:78
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
NoteTrackVRulerControls(const std::shared_ptr< ChannelView > &pChannelView)
std::weak_ptr< NoteTrackVZoomHandle > mVZoomHandle
std::vector< UIHandlePtr > HitTest(const TrackPanelMouseState &state, const AudacityProject *pProject) override
std::shared_ptr< NoteTrack > FindNoteTrack()
NoteTrackVRulerControls & operator=(const NoteTrackVRulerControls &)=delete
void UpdateRuler(const wxRect &rect) override
NoteTrackVRulerControls(const NoteTrackVRulerControls &)=delete
unsigned HandleWheelRotation(const TrackPanelMouseEvent &event, AudacityProject *pProject) override