summaryrefslogtreecommitdiffstats
path: root/src/graphs3d/utils/qgraphs3dnamespace.h
blob: 6513067100479a3d26d6ae61a53df039554ffa68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef QTGRAPHS_QGRAPHS3DNAMESPACE_H
#define QTGRAPHS_QGRAPHS3DNAMESPACE_H
#include <QtCore/qobjectdefs.h>
#include <QtGraphs/qtgraphsexports.h>
#include <QtQmlIntegration/qqmlintegration.h>

QT_BEGIN_NAMESPACE

namespace QtGraphs3D {

Q_NAMESPACE_EXPORT(Q_GRAPHS_EXPORT)
QML_NAMED_ELEMENT(Graphs3D)

enum class SelectionFlag {
    None = 0x00,
    Item = 0x01,
    Row = 0x02,
    ItemAndRow = Item | Row,
    Column = 0x04,
    ItemAndColumn = Item | Column,
    RowAndColumn = Row | Column,
    ItemRowAndColumn = Item | Row | Column,
    Slice = 0x08,
    MultiSeries = 0x10,
};
Q_FLAG_NS(SelectionFlag)
Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag)

enum class SliceType {
    SliceNone,
    SliceRow,
    SliceColumn,
};
Q_ENUM_NS(SliceType)

enum class ShadowQuality {
    None,
    Low,
    Medium,
    High,
    SoftLow,
    SoftMedium,
    SoftHigh,
};
Q_ENUM_NS(ShadowQuality)

enum class ElementType {
    None,
    Series,
    AxisXLabel,
    AxisYLabel,
    AxisZLabel,
    CustomItem,
};
Q_ENUM_NS(ElementType)

enum class OptimizationHint {
    Default,
    Legacy,
};
Q_ENUM_NS(OptimizationHint)

enum class RenderingMode {
    DirectToBackground,
    Indirect,
};
Q_ENUM_NS(RenderingMode)

enum class CameraPreset {
    NoPreset,
    FrontLow,
    Front,
    FrontHigh,
    LeftLow,
    Left,
    LeftHigh,
    RightLow,
    Right,
    RightHigh,
    BehindLow,
    Behind,
    BehindHigh,
    IsometricLeft,
    IsometricLeftHigh,
    IsometricRight,
    IsometricRightHigh,
    DirectlyAbove,
    DirectlyAboveCW45,
    DirectlyAboveCCW45,
    FrontBelow,
    LeftBelow,
    RightBelow,
    BehindBelow,
    DirectlyBelow,
};
Q_ENUM_NS(CameraPreset)

enum class GridLineType { Shader, Geometry };
Q_ENUM_NS(GridLineType)

enum class TransparencyTechnique {
    Default,
    Approximate,
    Accurate,
};
Q_ENUM_NS(TransparencyTechnique)

} // namespace QtGraphs3D
Q_DECLARE_OPERATORS_FOR_FLAGS(QtGraphs3D::SelectionFlags)

QT_END_NAMESPACE

#endif // QTGRAPHS_QGRAPHS3DNAMESPACE_H