27#ifndef QWT_SCALE_ENGINE_H
28#define QWT_SCALE_ENGINE_H
30#include "qwt_global.h"
31#include "qwt_scale_div.h"
48 static double ceilEps(
double value,
double intervalSize);
50 static double floorEps(
double value,
double intervalSize);
53 static double divideEps(
double intervalSize,
double numSteps);
56 static double divideInterval(
double intervalSize,
int numSteps, uint base);
94 IncludeReference = 0x01,
117 Q_DECLARE_FLAGS(Attributes, Attribute)
123 void setBase(uint base);
128 void setAttribute(Attribute,
bool on =
true);
130 bool testAttribute(Attribute)
const;
133 void setAttributes(Attributes);
135 Attributes attributes()
const;
138 void setReference(
double);
140 double reference()
const;
143 void setMargins(
double lower,
double upper);
145 double lowerMargin()
const;
147 double upperMargin()
const;
150 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const = 0;
153 virtual QwtScaleDiv divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const = 0;
162 bool contains(
const QwtInterval&,
double value)
const;
167 double divideInterval(
double intervalSize,
int numSteps)
const;
196 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const override;
198 virtual QwtScaleDiv divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const override;
234 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const override;
236 virtual QwtScaleDiv divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const override;
248Q_DECLARE_OPERATORS_FOR_FLAGS(QwtScaleEngine::Attributes)
A class representing an interval.
Definition qwt_interval.h:45
A scale engine for linear scales.
Definition qwt_scale_engine.h:191
A scale engine for logarithmic scales.
Definition qwt_scale_engine.h:229
Arithmetic including a tolerance .
Definition qwt_scale_engine.h:45
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:76
Attribute
Layout attributes.
Definition qwt_scale_engine.h:89
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.