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 XLOGYPOLARDOMAIN_H
14#define XLOGYPOLARDOMAIN_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 XLogYPolarDomain: public PolarDomain
23{
24 Q_OBJECT
25public:
26 explicit XLogYPolarDomain(QObject *object = 0);
27 virtual ~XLogYPolarDomain();
28
29 DomainType type() override { return AbstractDomain::XLogYPolarDomain; }
30
31 void setRange(qreal minX, qreal maxX, qreal minY, qreal maxY) override;
32
33 friend bool Q_AUTOTEST_EXPORT operator== (const XLogYPolarDomain &domain1, const XLogYPolarDomain &domain2);
34 friend bool Q_AUTOTEST_EXPORT operator!= (const XLogYPolarDomain &domain1, const XLogYPolarDomain &domain2);
35 friend QDebug Q_AUTOTEST_EXPORT operator<<(QDebug dbg, const XLogYPolarDomain &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
49protected:
50 qreal toAngularCoordinate(qreal value, bool &ok) const override;
51 qreal toRadialCoordinate(qreal value, bool &ok) const override;
52
53private:
54 qreal m_logInnerY;
55 qreal m_logOuterY;
56 qreal m_logBaseY;
57};
58
59QT_END_NAMESPACE
60
61#endif // XLOGYPOLARDOMAIN_H
62

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