Audacity 3.2.0
TimeTrackVRulerControls.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5TimeTrackVRulerControls.h
6
7Paul Licameli split from TrackPanel.cpp
8
9**********************************************************************/
10
11#ifndef __AUDACITY_TIME_TRACK_VRULER_CONTROLS__
12#define __AUDACITY_TIME_TRACK_VRULER_CONTROLS__
13
14#include "../../ui/ChannelVRulerControls.h"
15
16class TimeTrack;
18
19// This class is here for completeness, by analogy with other track
20// types, but it does nothing.
22{
25
26public:
27 explicit
28 TimeTrackVRulerControls(const std::shared_ptr<ChannelView> &pChannelView)
29 : ChannelVRulerControls{ pChannelView } {}
31
32 std::shared_ptr<TimeTrack> FindTimeTrack();
33
34 std::vector<UIHandlePtr> HitTest(
35 const TrackPanelMouseState &state,
36 const AudacityProject *) override;
37
38private:
39
40 // TrackPanelDrawable implementation
41 void Draw(
43 const wxRect &rect, unsigned iPass) override;
44
45 // ChannelVRulerControls implementation
46 void UpdateRuler(const wxRect &rect) override;
47
48 std::weak_ptr<TimeTrackVZoomHandle> mVZoomHandle;
49};
50
51#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 kind of Track used to 'warp time'.
Definition: TimeTrack.h:24
TimeTrackVRulerControls & operator=(const TimeTrackVRulerControls &)=delete
TimeTrackVRulerControls(const std::shared_ptr< ChannelView > &pChannelView)
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
TimeTrackVRulerControls(const TimeTrackVRulerControls &)=delete
std::weak_ptr< TimeTrackVZoomHandle > mVZoomHandle
void UpdateRuler(const wxRect &rect) override
std::vector< UIHandlePtr > HitTest(const TrackPanelMouseState &state, const AudacityProject *) override
std::shared_ptr< TimeTrack > FindTimeTrack()