1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4// W A R N I N G
5// -------------
6//
7// This file is not part of the Qt Chart API. It exists purely as an
8// implementation detail. This header file may change from version to
9// version without notice, or even be removed.
10//
11// We mean it.
12
13#ifndef LOGXLOGYPOLARDOMAIN_H
14#define LOGXLOGYPOLARDOMAIN_H
15#include <private/polardomain_p.h>
16#include <QtCharts/private/qchartglobal_p.h>
17#include <QtCore/QRectF>
18#include <QtCore/QSizeF>
19
20QT_BEGIN_NAMESPACE
21
22class Q_CHARTS_PRIVATE_EXPORT LogXLogYPolarDomain: public PolarDomain
23{
24 Q_OBJECT
25public:
26 explicit LogXLogYPolarDomain(QObject *object = 0);
27 virtual ~LogXLogYPolarDomain();
28
29 DomainType type() override { return AbstractDomain::LogXLogYPolarDomain; }
30
31 void setRange(qreal minX, qreal maxX, qreal minY, qreal maxY) override;
32
33 friend bool Q_AUTOTEST_EXPORT operator== (const LogXLogYPolarDomain &domain1, const LogXLogYPolarDomain &domain2);
34 friend bool Q_AUTOTEST_EXPORT operator!= (const LogXLogYPolarDomain &domain1, const LogXLogYPolarDomain &domain2);
35 friend QDebug Q_AUTOTEST_EXPORT operator<<(QDebug dbg, const LogXLogYPolarDomain &domain);
36
37 void zoomIn(const QRectF &rect) override;
38 void zoomOut(const QRectF &rect) override;
39 void move(qreal dx, qreal dy) override;
40
41 QPointF calculateDomainPoint(const QPointF &point) const override;
42
43 bool attachAxis(QAbstractAxis *axis) override;
44 bool detachAxis(QAbstractAxis *axis) override;
45
46public Q_SLOTS:
47 void handleVerticalAxisBaseChanged(qreal baseY);
48 void handleHorizontalAxisBaseChanged(qreal baseX);
49
50protected:
51 qreal toAngularCoordinate(qreal value, bool &ok) const override;
52 qreal toRadialCoordinate(qreal value, bool &ok) const override;
53
54private:
55 qreal m_logLeftX;
56 qreal m_logRightX;
57 qreal m_logBaseX;
58 qreal m_logInnerY;
59 qreal m_logOuterY;
60 qreal m_logBaseY;
61};
62
63QT_END_NAMESPACE
64
65#endif // LOGXLOGYPOLARDOMAIN_H
66

source code of qtcharts/src/charts/domain/logxlogypolardomain_p.h