11#ifndef __AUDACITY_ZOOM_INFO__
12#define __AUDACITY_ZOOM_INFO__
47 ZoomInfo(
double start,
double pixelsPerSecond);
66 double PositionToTime(wxInt64 position,
68 ,
bool ignoreFisheye =
false
75 wxInt64 TimeToPosition(
double time,
77 ,
bool ignoreFisheye =
false
82 double TimeRangeToPixelWidth(
double timeRange)
const;
86 return PositionToTime(offset + TimeToPosition(time, ignoreFisheye), ignoreFisheye);
98 {
return GetVRulerOffset() + GetVRulerWidth() + 1; }
103 std::max( 0, GetWidth() - ( GetLeftOffset() +
kRightMargin ) );
110 auto width = GetTracksUsableWidth();
111 return PositionToTime(width, 0,
true);
114 bool ZoomInAvailable()
const;
115 bool ZoomOutAvailable()
const;
118 {
return 44100.0 / 512.0; }
122 void SetZoom(
double pixelsPerSecond);
126 double GetZoom()
const;
128 static double GetMaxZoom( );
129 static double GetMinZoom( );
133 void ZoomBy(
double multiplier);
138 : position(p), averageZoom(z), inFisheye(i) {}
150 (
double rate,
Intervals &results, wxInt64 width, wxInt64 origin = 0)
const;
163 bool InFisheye(wxInt64 , wxInt64 WXUNUSED(origin = 0))
const
175 int mVRulerWidth{ 36 };
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...
static double GetDefaultZoom()
bool InFisheye(wxInt64, wxInt64 WXUNUSED(origin=0)) const
wxInt64 GetFisheyeRightBoundary(wxInt64 WXUNUSED(origin=0)) const
std::vector< Interval > Intervals
double GetScreenEndTime() const
int GetVRulerOffset() const
ZoomInfo(const ZoomInfo &) PROHIBITED
void SetVRulerWidth(int width)
int GetLeftOffset() const
int GetTracksUsableWidth() const
wxInt64 GetFisheyeLeftBoundary(wxInt64 WXUNUSED(origin=0)) const
double OffsetTimeByPixels(double time, wxInt64 offset, bool ignoreFisheye=false) const
int GetVRulerWidth() const
FisheyeState GetFisheyeState() const
A convenient default parameter for class template Site.
Interval(wxInt64 p, double z, bool i)