11#ifndef __AUDACITY_ZOOM_INFO__
12#define __AUDACITY_ZOOM_INFO__
43 ZoomInfo(
double start,
double pixelsPerSecond);
62 double PositionToTime(
int64 position,
64 ,
bool ignoreFisheye =
false
71 int64 TimeToPosition(
double time,
73 ,
bool ignoreFisheye =
false
78 double TimeRangeToPixelWidth(
double timeRange)
const;
82 return PositionToTime(offset + TimeToPosition(time, ignoreFisheye), ignoreFisheye);
94 {
return GetVRulerOffset() + GetVRulerWidth() + 1; }
99 std::max( 0, GetWidth() - ( GetLeftOffset() +
kRightMargin ) );
106 auto width = GetTracksUsableWidth();
107 return PositionToTime(width, 0,
true);
110 bool ZoomInAvailable()
const;
111 bool ZoomOutAvailable()
const;
114 {
return 44100.0 / 512.0; }
118 void SetZoom(
double pixelsPerSecond);
122 double GetZoom()
const;
124 static double GetMaxZoom( );
125 static double GetMinZoom( );
129 void ZoomBy(
double multiplier);
134 : position(p), averageZoom(z), inFisheye(i) {}
171 int mVRulerWidth{ 36 };
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(int64, int64=0) const
std::vector< Interval > Intervals
double GetScreenEndTime() const
int GetVRulerOffset() const
double OffsetTimeByPixels(double time, int64 offset, bool ignoreFisheye=false) const
int64 GetFisheyeRightBoundary(int64=0) const
ZoomInfo(const ZoomInfo &) PROHIBITED
void SetVRulerWidth(int width)
int GetLeftOffset() const
int GetTracksUsableWidth() const
int64 GetFisheyeLeftBoundary(int64=0) const
int GetVRulerWidth() const
FisheyeState GetFisheyeState() const
Interval(int64 p, double z, bool i)