33 viewInfo.selectedRegion.setTimes(
40 const std::shared_ptr<WaveTrack>& track,
41 const std::shared_ptr<WaveTrack::Interval>& clip,
42 std::weak_ptr<TrackPanelCell> cell)
44 , mCell {
std::move(cell) }
59 if (
const auto cell =
mCell.lock())
62 const wxPoint point {
event.event.GetPosition() };
63 return cell->DoContextMenu(event.
rect, pParent, &point, pProject);
71 return {
XO(
"Click to open clip context menu."),
nullptr };
90 const auto& rect = args.
rect;
91 constexpr auto penWidth = 0;
92 wxDCPenChanger pen { args.
dc, { wxPenInfo {
theTheme.
Colour(clrClipNameText), penWidth } } };
94 constexpr auto numDots = 3;
95 constexpr auto radius = 1;
96 constexpr auto spacing = 4;
97 constexpr auto totalWidth = numDots * 2 * radius + 2 * spacing;
98 const auto dotY = rect.y + (rect.height + 1 - radius) / 2;
99 for (
auto i = 0; i < numDots; ++i)
101 const auto dotX = rect.x + (rect.width + 1 - totalWidth) / 2 +
102 i * (2 * radius + spacing);
103 dc.DrawCircle(dotX, dotY, 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)
wxColour & Colour(int iIndex)
static ViewInfo & Get(AudacityProject &project)
This allows multiple clips to be a part of one WaveTrack.
double GetPlayStartTime() const noexcept override
double GetPlayEndTime() const override