1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the QtGraphs API. It exists purely as an
9// implementation detail. This header file may change from version to
10// version without notice, or even be removed.
11//
12// We mean it.
13
14#ifndef QHEIGHTMAPSURFACEDATAPROXY_P_H
15#define QHEIGHTMAPSURFACEDATAPROXY_P_H
16
17#include "qheightmapsurfacedataproxy.h"
18#include "qsurfacedataproxy_p.h"
19#include <QtCore/QTimer>
20
21QT_BEGIN_NAMESPACE
22
23class QHeightMapSurfaceDataProxyPrivate : public QSurfaceDataProxyPrivate
24{
25 Q_DECLARE_PUBLIC(QHeightMapSurfaceDataProxy)
26
27public:
28 QHeightMapSurfaceDataProxyPrivate(QHeightMapSurfaceDataProxy *q);
29 virtual ~QHeightMapSurfaceDataProxyPrivate();
30
31 void setValueRanges(float minX, float maxX, float minZ, float maxZ);
32 void setMinXValue(float min);
33 void setMaxXValue(float max);
34 void setMinZValue(float min);
35 void setMaxZValue(float max);
36 void setMinYValue(float min);
37 void setMaxYValue(float max);
38 void setAutoScaleY(bool enabled);
39private:
40 void handlePendingResolve();
41
42 QImage m_heightMap;
43 QString m_heightMapFile;
44 QTimer m_resolveTimer;
45
46 float m_minXValue;
47 float m_maxXValue;
48 float m_minZValue;
49 float m_maxZValue;
50 float m_minYValue;
51 float m_maxYValue;
52 bool m_autoScaleY;
53};
54
55QT_END_NAMESPACE
56
57#endif
58

source code of qtgraphs/src/graphs/data/qheightmapsurfacedataproxy_p.h