18#include "../../TrackArtist.h"
19#include "../../TrackPanelDrawingContext.h"
24#include <wx/translation.h>
27 const std::shared_ptr<ChannelView> &pChannelView)
28 : mwChannelView{ pChannelView }
51 return pView->FindTrack();
58 return std::vector<UIHandlePtr>{};
63 int zoomStart,
int zoomEnd)
67 auto &dc = context.
dc;
69 dc.SetBrush(*wxTRANSPARENT_BRUSH);
70 dc.SetPen(*wxBLACK_DASHED_PEN);
76 1 + abs( zoomEnd - zoomStart)
79 dc.DrawRectangle(rect);
83 const wxRect &rect,
const wxRect &panelRect)
100 const wxRect &rect_,
unsigned iPass)
107 auto dc = &context.
dc;
113 dc->DrawRectangle( rect );
116 dc->SetPen(*wxBLACK_PEN);
118 const auto left = rect.GetLeft();
119 AColor::Line( *dc, left, rect.GetTop(), left, rect.GetBottom() );
126 const wxRect &rect,
const wxRect &,
unsigned iPass)
131 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::weak_ptr< ChannelView > mwChannelView
ChannelVRulerControls(const std::shared_ptr< ChannelView > &pChannelView)
std::vector< UIHandlePtr > HitTest(const TrackPanelMouseState &state, const AudacityProject *pProject) override
static ChannelVRulerControls & Get(ChannelView &)
virtual ~ChannelVRulerControls()=0
void Draw(TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass) override
static wxRect ZoomingArea(const wxRect &rect, const wxRect &panelRect)
std::shared_ptr< Track > DoFindTrack() override
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::shared_ptr< ChannelVRulerControls > GetVRulerControls()
std::shared_ptr< Track > FindTrack()