10 #ifndef QWT_SCALE_ENGINE_H
11 #define QWT_SCALE_ENGINE_H
13 #include "qwt_global.h"
14 #include "qwt_scale_div.h"
15 #include "qwt_interval.h"
25 static double ceilEps(
double value,
double intervalSize );
26 static double floorEps(
double value,
double intervalSize );
28 static double divideEps(
double interval,
double steps );
30 static double divideInterval(
double interval,
31 int numSteps, uint base );
60 IncludeReference = 0x01,
84 void setBase( uint base );
87 void setAttribute(
Attribute,
bool on =
true );
93 void setReference(
double reference );
94 double reference()
const;
96 void setMargins(
double lower,
double upper );
97 double lowerMargin()
const;
98 double upperMargin()
const;
108 virtual void autoScale(
int maxNumSteps,
109 double &x1,
double &x2,
double &stepSize )
const = 0;
121 virtual QwtScaleDiv divideScale(
double x1,
double x2,
122 int maxMajorSteps,
int maxMinorSteps,
123 double stepSize = 0.0 )
const = 0;
129 bool contains(
const QwtInterval &,
double val )
const;
130 QList<double> strip(
const QList<double>&,
const QwtInterval & )
const;
132 double divideInterval(
double interval,
int numSteps )
const;
155 double &x1,
double &x2,
double &stepSize )
const;
158 int numMajorSteps,
int numMinorSteps,
159 double stepSize = 0.0 )
const;
166 const QwtInterval &,
double stepSize,
int maxMinSteps,
169 QList<double> buildMajorTicks(
170 const QwtInterval &interval,
double stepSize )
const;
172 void buildMinorTicks(
const QList<double>& majorTicks,
173 int maxMinorSteps,
double stepSize,
174 QList<double> &minorTicks, QList<double> &mediumTicks )
const;
195 double &x1,
double &x2,
double &stepSize )
const;
198 int numMajorSteps,
int numMinorSteps,
199 double stepSize = 0.0 )
const;
205 const QwtInterval &,
double stepSize,
int maxMinSteps,
208 QList<double> buildMajorTicks(
209 const QwtInterval &interval,
double stepSize )
const;
211 void buildMinorTicks(
const QList<double>& majorTicks,
212 int maxMinorSteps,
double stepSize,
213 QList<double> &minorTicks, QList<double> &mediumTicks )
const;