1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-10 09:01:13 +02:00
audacity/src/tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.h
Paul Licameli 18b4c01c51 TrackVRulerControl is directly owned by TrackView not Track...
... in anticipation of making views to tracks many-to-one, but then the rulers
should be one-to-one with the views.  So go through the view to get the ruler.
The ruler is really a left-hand extension for each view.
2019-06-18 16:01:06 -04:00

42 lines
1.1 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
NoteTrackVRulerControls.h
Paul Licameli split from TrackPanel.cpp
**********************************************************************/
#ifndef __AUDACITY_NOTE_TRACK_VRULER_CONTROLS__
#define __AUDACITY_NOTE_TRACK_VRULER_CONTROLS__
#include "../../../ui/TrackVRulerControls.h"
class NoteTrackVZoomHandle;
class NoteTrackVRulerControls final : public TrackVRulerControls
{
NoteTrackVRulerControls(const NoteTrackVRulerControls&) = delete;
NoteTrackVRulerControls &operator=(const NoteTrackVRulerControls&) = delete;
public:
explicit
NoteTrackVRulerControls( const std::shared_ptr<TrackView> &pTrackView )
: TrackVRulerControls( pTrackView ) {}
~NoteTrackVRulerControls();
std::vector<UIHandlePtr> HitTest
(const TrackPanelMouseState &state,
const AudacityProject *pProject) override;
unsigned HandleWheelRotation
(const TrackPanelMouseEvent &event,
AudacityProject *pProject) override;
private:
std::weak_ptr<NoteTrackVZoomHandle> mVZoomHandle;
};
#endif