11#ifndef __AUDACITY_SAMPLE_HANDLE__
12#define __AUDACITY_SAMPLE_HANDLE__
14#include "../../../../UIHandle.h"
28 (
const wxMouseState &state,
const AudacityProject *pProject,
bool unsafe);
31 explicit SampleHandle(
const std::shared_ptr<WaveTrack> &pTrack );
36 (std::weak_ptr<SampleHandle> &holder,
37 const wxMouseState &state,
const std::shared_ptr<WaveTrack> &pTrack);
39 (std::weak_ptr<SampleHandle> &holder,
40 const wxMouseState &state,
const wxRect &rect,
41 const AudacityProject *pProject,
const std::shared_ptr<WaveTrack> &pTrack);
61 wxWindow *pParent)
override;
69 (
const wxMouseEvent &event,
const ViewInfo &viewInfo,
double t0);
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...
Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override
float FindSampleEditingLevel(const wxMouseEvent &event, const ViewInfo &viewInfo, double t0)
float mLastDragSampleValue
sampleCount mClickedStartSample
Result Cancel(AudacityProject *pProject) override
bool StopsOnKeystroke() override
static HitTestPreview HitPreview(const wxMouseState &state, const AudacityProject *pProject, bool unsafe)
static UIHandlePtr HitAnywhere(std::weak_ptr< SampleHandle > &holder, const wxMouseState &state, const std::shared_ptr< WaveTrack > &pTrack)
void Enter(bool forward, AudacityProject *) override
sampleCount mLastDragSample
static UIHandlePtr HitTest(std::weak_ptr< SampleHandle > &holder, const wxMouseState &state, const wxRect &rect, const AudacityProject *pProject, const std::shared_ptr< WaveTrack > &pTrack)
Result Click(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
SampleHandle & operator=(const SampleHandle &)=default
std::shared_ptr< WaveTrack > mClickedTrack
HitTestPreview Preview(const TrackPanelMouseState &state, AudacityProject *pProject) override
std::shared_ptr< WaveTrack > GetTrack() const
Result Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
SampleHandle(const SampleHandle &)=delete
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.
A Track that contains audio waveform data.
Positions or offsets within audio files need a wide type.