32 std::shared_ptr<WaveTrack::Interval> clip)
34 , mTrack {
std::move(track) }
35 , mClip {
std::move(clip) }
46 const auto& zoomInfo = *artist->pZoomInfo;
72 if (!buttonRect.has_value())
75 const auto mousePos =
event.event.GetPosition();
76 if (!buttonRect->Contains(mousePos))
89 return result |
DoRelease(event, pProject, pParent);
102 if (
const auto track = trackList.Lock<
Track>(
mTrack))
105 selectionState.SelectNone(trackList);
106 selectionState.SelectTrack(*track,
true,
true);
109 viewInfo.selectedRegion.setTimes(
110 mClip->GetPlayStartTime(),
mClip->GetPlayEndTime());
132 constexpr auto penWidth = 0;
134 wxDCBrushChanger brush { dc, col };
135 wxDCPenChanger pen { dc, { wxPenInfo { col, penWidth } } };
136 constexpr auto radius = 3;
137 dc.DrawRoundedRectangle(rect, radius);
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
void ModifyState(bool bWantsAutoSave)
static ProjectHistory & Get(AudacityProject &project)
static SelectionState & Get(AudacityProject &project)
wxColour & Colour(int iIndex)
static TrackArtist * Get(TrackPanelDrawingContext &)
Abstract base class for an object holding data associated with points on a time axis.
static TrackList & Get(AudacityProject &project)
static ViewInfo & Get(AudacityProject &project)
std::shared_ptr< TrackPanelCell > pCell