18#include "../../TrackArtist.h"
19#include "../../TrackPanelDrawingContext.h"
24#include <wx/translation.h>
27 const std::shared_ptr<TrackView> &pTrackView )
28 : mwTrackView{ pTrackView }
50 return pView->FindTrack();
57 return std::vector<UIHandlePtr>{};
62 int zoomStart,
int zoomEnd )
66 auto &dc = context.
dc;
68 dc.SetBrush(*wxTRANSPARENT_BRUSH);
69 dc.SetPen(*wxBLACK_DASHED_PEN);
75 1 + abs( zoomEnd - zoomStart)
78 dc.DrawRectangle(rect);
82 const wxRect &rect,
const wxRect &panelRect )
99 const wxRect &rect_,
unsigned iPass )
106 auto dc = &context.
dc;
112 dc->DrawRectangle( rect );
115 dc->SetPen(*wxBLACK_PEN);
117 const auto left = rect.GetLeft();
118 AColor::Line( *dc, left, rect.GetTop(), left, rect.GetBottom() );
125 const wxRect &rect,
const wxRect &,
unsigned iPass )
130 return { rect.x, rect.y, rect.width, rect.height + 1 };
declares abstract base class Track, TrackList, and iterators over TrackList
static void Line(wxDC &dc, wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
static void MediumTrackInfo(wxDC *dc, bool selected)
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
std::shared_ptr< Track > FindTrack()
std::weak_ptr< TrackView > mwTrackView
static TrackVRulerControls & Get(TrackView &)
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
TrackVRulerControls(const std::shared_ptr< TrackView > &pTrackView)
virtual ~TrackVRulerControls()=0
static void DrawZooming(TrackPanelDrawingContext &context, const wxRect &rect, int zoomStart, int zoomEnd)
wxRect DrawingArea(TrackPanelDrawingContext &, const wxRect &rect, const wxRect &panelRect, unsigned iPass) override
std::vector< UIHandlePtr > HitTest(const TrackPanelMouseState &state, const AudacityProject *pProject) override
static wxRect ZoomingArea(const wxRect &rect, const wxRect &panelRect)
std::shared_ptr< Track > DoFindTrack() override
std::shared_ptr< TrackVRulerControls > GetVRulerControls()