11#ifndef __AUDACITY_ENVELOPE_HANDLE__
12#define __AUDACITY_ENVELOPE_HANDLE__
14#include "../../UIHandle.h"
33 static UIHandlePtr HitEnvelope(std::weak_ptr<EnvelopeHandle> &holder,
34 const wxMouseState &state,
const wxRect &rect,
36 Envelope *envelope, std::weak_ptr<const Channel> wChannel,
37 float zoomMin,
float zoomMax,
38 bool dB,
float dBRange,
bool timeTrack);
48 std::shared_ptr<const Track>
FindTrack()
const override;
50 static UIHandlePtr HitAnywhere(std::weak_ptr<EnvelopeHandle> &holder,
51 Envelope *envelope, std::weak_ptr<const Channel> wChannel,
54 (std::weak_ptr<EnvelopeHandle> &holder,
55 const wxMouseState &state,
const wxRect &rect,
57 static UIHandlePtr WaveChannelHitTest(std::weak_ptr<EnvelopeHandle> &holder,
58 const wxMouseState &state,
const wxRect &rect,
59 const AudacityProject *pProject,
const std::shared_ptr<WaveChannel> &wt);
77 wxWindow *pParent)
override;
84 bool ForwardEventToEnvelopes
85 (
const wxMouseEvent &event,
const ViewInfo &viewInfo);
89 float mLower{}, mUpper{};
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...
std::unique_ptr< EnvelopeEditor > mpEnvelopeEditor
std::weak_ptr< const Channel > mwChannel
EnvelopeHandle & operator=(const EnvelopeHandle &)=delete
Envelope * GetEnvelope() const
EnvelopeHandle(const EnvelopeHandle &)=delete
bool StopsOnKeystroke() override
EnvelopeHandle(EnvelopeHandle &&)=default
EnvelopeHandle & operator=(EnvelopeHandle &&)=default
Piecewise linear or piecewise exponential function from double to double.
A kind of Track used to 'warp time'.
Short-lived drawing and event-handling object associated with a TrackPanelCell.
virtual void Enter(bool forward, AudacityProject *pProject)
virtual Result Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject)=0
virtual Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent)=0
virtual std::shared_ptr< const Track > FindTrack() const =0
virtual HitTestPreview Preview(const TrackPanelMouseState &state, AudacityProject *pProject)=0
virtual Result Cancel(AudacityProject *pProject)=0
virtual Result Click(const TrackPanelMouseEvent &event, AudacityProject *pProject)=0