27#ifndef QWT_SCALE_ENGINE_H
28#define QWT_SCALE_ENGINE_H
30#include "qwt_global.h"
31#include "qwt_scale_div.h"
42 static double ceilEps(
double value,
double intervalSize);
43 static double floorEps(
double value,
double intervalSize);
45 static double divideEps(
double intervalSize,
double numSteps);
47 static double divideInterval(
double intervalSize,
int numSteps, uint base);
82 IncludeReference = 0x01,
103 Q_DECLARE_FLAGS(Attributes, Attribute)
108 void setBase(uint base);
111 void setAttribute(Attribute,
bool on =
true);
112 bool testAttribute(Attribute)
const;
114 void setAttributes(Attributes);
115 Attributes attributes()
const;
117 void setReference(
double);
118 double reference()
const;
120 void setMargins(
double lower,
double upper);
121 double lowerMargin()
const;
122 double upperMargin()
const;
132 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const = 0;
147 divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const = 0;
153 bool contains(
const QwtInterval&,
double value)
const;
156 double divideInterval(
double intervalSize,
int numSteps)
const;
180 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const QWT_OVERRIDE;
183 divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const QWT_OVERRIDE;
216 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const QWT_OVERRIDE;
219 divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const QWT_OVERRIDE;
235Q_DECLARE_OPERATORS_FOR_FLAGS(QwtScaleEngine::Attributes)
A class representing an interval.
Definition qwt_interval.h:40
A scale engine for linear scales.
Definition qwt_scale_engine.h:175
A scale engine for logarithmic scales.
Definition qwt_scale_engine.h:211
Arithmetic including a tolerance.
Definition qwt_scale_engine.h:40
A class representing a scale division/表示刻度划分的类
Definition qwt_scale_div.h:53
@ NTickTypes
Number of valid tick types.
Definition qwt_scale_div.h:71
Base class for scale engines./刻度引擎的基类
Definition qwt_scale_engine.h:67
Attribute
Layout attributes/布局属性
Definition qwt_scale_engine.h:77
virtual void autoScale(int maxNumSteps, double &x1, double &x2, double &stepSize) const =0
Align and divide an interval.
virtual QwtScaleDiv divideScale(double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const =0
Calculate a scale division.