21 #include <KDABLibFakes>
36 , mOrientation(orientation)
43 , mMode(r.calculationMode())
44 , mArea(r.referenceArea())
45 , mOrientation(r.referenceOrientation())
69 const QObject theAutoArea;
70 const QObject *autoArea = &theAutoArea;
71 const QObject *area = mArea ? mArea : autoArea;
76 orientation = autoOrientation;
82 orientation = autoOrientation;
95 qreal referenceValue = 0;
96 switch (orientation) {
99 referenceValue = qMin(size.width(), size.height());
102 referenceValue = qMax(size.width(), size.height());
105 referenceValue = size.width();
108 referenceValue = size.height();
111 value = mValue / 1000.0 * referenceValue;
130 const auto *kdcArea =
dynamic_cast<const AbstractArea *
>(area);
132 size = kdcArea->geometry().size();
135 const auto *widget =
dynamic_cast<const QWidget *
>(area);
144 size = widget->geometry().size();
148 size = QSizeF(1.0, 1.0);
154 return QSizeF(size.width() * factors.first, size.height() * factors.second);
164 mFactors.push(qMakePair(qreal(1.0), qreal(1.0)));
180 instance()->mFactors.push(qMakePair(factorX, factorY));
186 if (
instance()->mFactors.count() > 1)
206 #if !defined(QT_NO_DEBUG_STREAM)
209 dbg <<
"KDChart::Measure("
210 <<
"value=" << m.
value()
QDebug operator<<(QDebug dbg, const KDChart::Measure &m)
Declaring the class KDChart::Measure.
@ MeasureCalculationModeRelative
@ MeasureCalculationModeAutoOrientation
@ MeasureCalculationModeAbsolute
@ MeasureCalculationModeAuto
@ MeasureCalculationModeAutoArea
@ MeasureOrientationVertical
@ MeasureOrientationMinimum
@ MeasureOrientationMaximum
@ MeasureOrientationHorizontal
An area in the chart with a background, a frame, etc.
Cartesian coordinate plane.
QRectF visibleDiagramArea() const
static const QPair< qreal, qreal > currentFactors()
static void setFactors(qreal factorX, qreal factorY)
static GlobalMeasureScaling * instance()
virtual ~GlobalMeasureScaling()
static void resetFactors()
static void setPaintDevice(QPaintDevice *paintDevice)
static QPaintDevice * paintDevice()
Measure is used to specify relative and absolute sizes in KDChart, e.g. font sizes.
qreal calculatedValue(const QObject *autoArea, KDChartEnums::MeasureOrientation autoOrientation) const
const QObject * referenceArea() const
const QSizeF sizeOfArea(const QObject *area) const
KDChartEnums::MeasureOrientation referenceOrientation() const
KDChartEnums::MeasureCalculationMode calculationMode() const
Measure & operator=(const Measure &)
bool operator==(const Measure &) const