27#ifndef QWT_SCALE_ENGINE_H
28#define QWT_SCALE_ENGINE_H
30#include "qwtcore_global.h"
31#include "qwt_scale_div.h"
43 static double ceilEps(
double value,
double intervalSize);
45 static double floorEps(
double value,
double intervalSize);
48 static double divideEps(
double intervalSize,
double numSteps);
51 static double divideInterval(
double intervalSize,
int numSteps, uint base);
74 IncludeReference = 0x01,
91 Q_DECLARE_FLAGS(Attributes, Attribute)
97 void setBase(uint base);
102 void setAttribute(Attribute,
bool on =
true);
104 bool testAttribute(Attribute)
const;
107 void setAttributes(Attributes);
109 Attributes attributes()
const;
112 void setReference(
double);
114 double reference()
const;
117 void setMargins(
double lower,
double upper);
119 double lowerMargin()
const;
121 double upperMargin()
const;
124 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const = 0;
128 divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const = 0;
137 bool contains(
const QwtInterval&,
double value)
const;
142 double divideInterval(
double intervalSize,
int numSteps)
const;
165 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const override;
168 divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const override;
199 virtual void autoScale(
int maxNumSteps,
double& x1,
double& x2,
double& stepSize)
const override;
202 divideScale(
double x1,
double x2,
int maxMajorSteps,
int maxMinorSteps,
double stepSize = 0.0)
const override;
218Q_DECLARE_OPERATORS_FOR_FLAGS(QwtScaleEngine::Attributes)
A class representing an interval
Definition qwt_interval.h:39
A scale engine for linear scales
Definition qwt_scale_engine.h:160
A scale engine for logarithmic scales
Definition qwt_scale_engine.h:194
Arithmetic including a tolerance
Definition qwt_scale_engine.h:40
A class representing a scale division
Definition qwt_scale_div.h:47
@ NTickTypes
Number of valid tick types
Definition qwt_scale_div.h:65
Base class for scale engines
Definition qwt_scale_engine.h:62
Attribute
Layout attributes
Definition qwt_scale_engine.h:69
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