1 /****************************************************************************
2 **
3 ** Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the QtGui module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 3 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 3 requirements
23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24 **
25 ** GNU General Public License Usage
26 ** Alternatively, this file may be used under the terms of the GNU
27 ** General Public License version 2.0 or (at your option) the GNU General
28 ** Public license version 3 or any later version approved by the KDE Free
29 ** Qt Foundation. The licenses are as published by the Free Software
30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31 ** included in the packaging of this file. Please review the following
32 ** information to ensure the GNU General Public License requirements will
33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34 ** https://www.gnu.org/licenses/gpl-3.0.html.
35 **
36 ** $QT_END_LICENSE$
37 **
38 ****************************************************************************/
39 
40 #ifndef QSHADERLANGUAGE_P_H
41 #define QSHADERLANGUAGE_P_H
42 
43 //
44 //  W A R N I N G
45 //  -------------
46 //
47 // This file is not part of the Qt API.  It exists purely as an
48 // implementation detail.  This header file may change from version to
49 // version without notice, or even be removed.
50 //
51 // We mean it.
52 //
53 
54 #include <QtGui/private/qtguiglobal_p.h>
55 
56 #include <QtCore/qmetatype.h>
57 
58 QT_BEGIN_NAMESPACE
59 
60 namespace QShaderLanguage
61 {
62     Q_NAMESPACE_EXPORT(Q_GUI_EXPORT)
63 
64     enum StorageQualifier : char {
65         Const = 1,
66         Input,
67         BuiltIn,
68         Output,
69         Uniform
70     };
71     Q_ENUM_NS(StorageQualifier)
72 
73     enum VariableType : int {
74         Bool = 1,
75         Int,
76         Uint,
77         Float,
78         Double,
79         Vec2,
80         Vec3,
81         Vec4,
82         DVec2,
83         DVec3,
84         DVec4,
85         BVec2,
86         BVec3,
87         BVec4,
88         IVec2,
89         IVec3,
90         IVec4,
91         UVec2,
92         UVec3,
93         UVec4,
94         Mat2,
95         Mat3,
96         Mat4,
97         Mat2x2,
98         Mat2x3,
99         Mat2x4,
100         Mat3x2,
101         Mat3x3,
102         Mat3x4,
103         Mat4x2,
104         Mat4x3,
105         Mat4x4,
106         DMat2,
107         DMat3,
108         DMat4,
109         DMat2x2,
110         DMat2x3,
111         DMat2x4,
112         DMat3x2,
113         DMat3x3,
114         DMat3x4,
115         DMat4x2,
116         DMat4x3,
117         DMat4x4,
118         Sampler1D,
119         Sampler2D,
120         Sampler3D,
121         SamplerCube,
122         Sampler2DRect,
123         Sampler2DMs,
124         SamplerBuffer,
125         Sampler1DArray,
126         Sampler2DArray,
127         Sampler2DMsArray,
128         SamplerCubeArray,
129         Sampler1DShadow,
130         Sampler2DShadow,
131         Sampler2DRectShadow,
132         Sampler1DArrayShadow,
133         Sampler2DArrayShadow,
134         SamplerCubeShadow,
135         SamplerCubeArrayShadow,
136         ISampler1D,
137         ISampler2D,
138         ISampler3D,
139         ISamplerCube,
140         ISampler2DRect,
141         ISampler2DMs,
142         ISamplerBuffer,
143         ISampler1DArray,
144         ISampler2DArray,
145         ISampler2DMsArray,
146         ISamplerCubeArray,
147         USampler1D,
148         USampler2D,
149         USampler3D,
150         USamplerCube,
151         USampler2DRect,
152         USampler2DMs,
153         USamplerBuffer,
154         USampler1DArray,
155         USampler2DArray,
156         USampler2DMsArray,
157         USamplerCubeArray
158     };
159     Q_ENUM_NS(VariableType)
160 }
161 
162 QT_END_NAMESPACE
163 
164 #endif // QSHADERLANGUAGE_P_H
165