Audacity 3.2.0
TrackPanelResizerCell.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 TrackPanelResizerCell.h
6
7 Paul Licameli split from TrackPanel.cpp
8
9 **********************************************************************/
10
11#ifndef __AUDACITY_TRACK_PANEL_RESIZER_CELL__
12#define __AUDACITY_TRACK_PANEL_RESIZER_CELL__
13
14#include "ClientData.h" // to inherit
15#include "tracks/ui/CommonTrackPanelCell.h" // to inherit
16
17class Track;
19
21 : public CommonTrackCell
22 , public std::enable_shared_from_this< TrackPanelResizerCell >
23{
26public:
27
28 static TrackPanelResizerCell &Get( Track &track );
29 static const TrackPanelResizerCell &Get( const Track &track );
30
31 explicit
32 TrackPanelResizerCell( const std::shared_ptr<Track> &pTrack );
33
34 std::vector<UIHandlePtr> HitTest
35 (const TrackPanelMouseState &, const AudacityProject *) override;
36
37private:
38
39 // TrackPanelDrawable implementation
40 void Draw(
42 const wxRect &rect, unsigned iPass ) override;
43
44 std::weak_ptr<TrackPanelResizeHandle> mResizeHandle;
45};
46
47#endif
Utility ClientData::Site to register hooks into a host class that attach client data.
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:89
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:225
std::weak_ptr< TrackPanelResizeHandle > mResizeHandle
TrackPanelResizerCell(const TrackPanelResizerCell &)=delete
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
TrackPanelResizerCell & operator=(const TrackPanelResizerCell &)=delete
static TrackPanelResizerCell & Get(Track &track)
std::vector< UIHandlePtr > HitTest(const TrackPanelMouseState &, const AudacityProject *) override