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 UTILS_P_H
15#define UTILS_P_H
16
17#include <QtCore/qlocale.h>
18#include <QtGui/qimage.h>
19#include <QtGui/qquaternion.h>
20#include "common/theme/qquickgraphscolor_p.h"
21#include "qabstract3dseries.h"
22#include <private/qgraphsglobal_p.h>
23
24QT_FORWARD_DECLARE_CLASS(QLinearGradient)
25
26QT_BEGIN_NAMESPACE
27class QQuickGradient;
28class Utils
29{
30public:
31 enum class ParamType { Unknown, Int, UInt, Real };
32
33 static ParamType preParseFormat(
34 const QString &format, QString &preStr, QString &postStr, int &precision, char &formatSpec);
35 static QString formatLabelSprintf(const QByteArray &format, ParamType paramType, qreal value);
36 static QString formatLabelLocalized(ParamType paramType,
37 qreal value,
38 const QLocale &locale,
39 const QString &preStr,
40 const QString &postStr,
41 int precision,
42 char formatSpec,
43 const QByteArray &format);
44 static QString defaultLabelFormat();
45
46 static float wrapValue(float value, float min, float max);
47 static QQuaternion calculateRotation(QVector3D xyzRotations);
48 static void verifyGradientCompleteness(QLinearGradient &gradient);
49 static void setSeriesGradient(QAbstract3DSeries *series, QJSValue gradient, GradientType type);
50 static void setSeriesGradient(QAbstract3DSeries *series,
51 QQuickGradient *gradient,
52 GradientType type);
53 static void connectSeriesGradient(QAbstract3DSeries *series,
54 QJSValue newGradient,
55 GradientType type,
56 QJSValue &memberGradient);
57 static qreal maxTextureSize();
58
59private:
60 static ParamType mapFormatCharToParamType(char formatSpec);
61};
62
63QT_END_NAMESPACE
64
65#endif
66

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qtgraphs/src/graphs3d/utils/utils_p.h