11#ifndef __AUDACITY_CUTLINE_HANDLE__
12#define __AUDACITY_CUTLINE_HANDLE__
14#include "../../../../UIHandle.h"
15#include "../../../../WaveTrackLocation.h"
27 explicit CutlineHandle(
const std::shared_ptr<WaveTrack> &pTrack,
35 std::weak_ptr<CutlineHandle> &holder,
36 const wxMouseState &state,
const wxRect &rect,
38 std::shared_ptr<WaveTrack> pTrack);
42 std::shared_ptr<const Track>
FindTrack()
const override;
63 wxWindow *pParent)
override;
std::shared_ptr< UIHandle > UIHandlePtr
std::vector< WaveTrackLocation > WaveTrackLocations
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
const WaveTrackLocation & GetLocation()
bool StopsOnKeystroke() override
CutlineHandle(const CutlineHandle &)=delete
Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override
std::shared_ptr< const Track > FindTrack() const override
static UIHandlePtr HitAnywhere(const AudacityProject *pProject, bool cutline, UIHandlePtr ptr)
WaveTrackLocation mLocation
WaveTrackLocations mLocations
CutlineHandle & operator=(const CutlineHandle &)=default
HitTestPreview Preview(const TrackPanelMouseState &state, AudacityProject *pProject) override
std::shared_ptr< WaveTrack > mpTrack
std::shared_ptr< WaveTrack > GetTrack()
static UIHandlePtr HitTest(std::weak_ptr< CutlineHandle > &holder, const wxMouseState &state, const wxRect &rect, const AudacityProject *pProject, std::shared_ptr< WaveTrack > pTrack)
Result Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
static HitTestPreview HitPreview(bool unsafe)
void Enter(bool forward, AudacityProject *) override
bool HandlesRightClick() override
Whether the handle has any special right-button handling.
Result Click(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
Result Cancel(AudacityProject *pProject) override
Short-lived drawing and event-handling object associated with a TrackPanelCell.
A Track that contains audio waveform data.