11#ifndef __AUDACITY_STRETCH_HANDLE__
12#define __AUDACITY_STRETCH_HANDLE__
14#include "../../../../UIHandle.h"
59 (
const std::shared_ptr<NoteTrack> &pTrack,
65 (std::weak_ptr<StretchHandle> &holder,
67 const std::shared_ptr<NoteTrack> &pTrack );
83 wxWindow *pParent)
override;
std::shared_ptr< UIHandle > UIHandlePtr
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
A Track that is used for Midi notes. (Somewhat old code).
Result Click(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
Result Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
StretchState mStretchState
static double GetT0(const Track &track, const ViewInfo &viewInfo)
bool StopsOnKeystroke() override
std::shared_ptr< NoteTrack > mpTrack
static double GetT1(const Track &track, const ViewInfo &viewInfo)
Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override
void Stretch(AudacityProject *pProject, int mouseXCoordinate, int trackLeftEdge, Track *pTrack)
HitTestPreview Preview(const TrackPanelMouseState &state, AudacityProject *pProject) override
StretchHandle(const StretchHandle &)
static HitTestPreview HitPreview(StretchEnum stretchMode, bool unsafe)
static UIHandlePtr HitTest(std::weak_ptr< StretchHandle > &holder, const TrackPanelMouseState &state, const AudacityProject *pProject, const std::shared_ptr< NoteTrack > &pTrack)
StretchHandle & operator=(const StretchHandle &)=default
Result Cancel(AudacityProject *pProject) override
Abstract base class for an object holding data associated with points on a time axis.
Short-lived drawing and event-handling object associated with a TrackPanelCell.
QuantizedTimeAndBeat mBeatCenter
QuantizedTimeAndBeat mBeat0
double mOrigSel1Quantized
QuantizedTimeAndBeat mBeat1
double mOrigSel0Quantized
std::pair< double, double > QuantizedTimeAndBeat