Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
ddsheader.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// Copyright (C) 2016 Ivan Komissarov.
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5
#ifndef DDSHEADER_H
6
#define DDSHEADER_H
7
8
#include <QtCore/QDataStream>
9
10
#ifndef QT_NO_DATASTREAM
11
12
QT_BEGIN_NAMESPACE
13
14
enum
Format
{
15
FormatUnknown
= 0,
16
17
FormatR8G8B8
= 20,
18
FormatA8R8G8B8
= 21,
19
FormatX8R8G8B8
= 22,
20
FormatR5G6B5
= 23,
21
FormatX1R5G5B5
= 24,
22
FormatA1R5G5B5
= 25,
23
FormatA4R4G4B4
= 26,
24
FormatR3G3B2
= 27,
25
FormatA8
= 28,
26
FormatA8R3G3B2
= 29,
27
FormatX4R4G4B4
= 30,
28
FormatA2B10G10R10
= 31,
29
FormatA8B8G8R8
= 32,
30
FormatX8B8G8R8
= 33,
31
FormatG16R16
= 34,
32
FormatA2R10G10B10
= 35,
33
FormatA16B16G16R16
= 36,
34
35
FormatA8P8
= 40,
36
FormatP8
= 41,
37
38
FormatL8
= 50,
39
FormatA8L8
= 51,
40
FormatA4L4
= 52,
41
42
FormatV8U8
= 60,
43
FormatL6V5U5
= 61,
44
FormatX8L8V8U8
= 62,
45
FormatQ8W8V8U8
= 63,
46
FormatV16U16
= 64,
47
FormatA2W10V10U10
= 67,
48
49
FormatUYVY
= 0x59565955,
// "UYVY"
50
FormatR8G8B8G8
= 0x47424752,
// "RGBG"
51
FormatYUY2
= 0x32595559,
// "YUY2"
52
FormatG8R8G8B8
= 0x42475247,
// "GRGB"
53
FormatDXT1
= 0x31545844,
// "DXT1"
54
FormatDXT2
= 0x32545844,
// "DXT2"
55
FormatDXT3
= 0x33545844,
// "DXT3"
56
FormatDXT4
= 0x34545844,
// "DXT4"
57
FormatDXT5
= 0x35545844,
// "DXT5"
58
FormatRXGB
= 0x42475852,
// "RXGB"
59
FormatATI2
= 0x32495441,
// "ATI2"
60
61
FormatD16Lockable
= 70,
62
FormatD32
= 71,
63
FormatD15S1
= 73,
64
FormatD24S8
= 75,
65
FormatD24X8
= 77,
66
FormatD24X4S4
= 79,
67
FormatD16
= 80,
68
69
FormatD32FLockable
= 82,
70
FormatD24FS8
= 83,
71
72
FormatD32Lockable
= 84,
73
FormatS8Lockable
= 85,
74
75
FormatL16
= 81,
76
77
FormatVertexData
=100,
78
FormatIndex16
=101,
79
FormatIndex32
=102,
80
81
FormatQ16W16V16U16
= 110,
82
83
FormatMulti2ARGB8
= 0x3154454d,
// "MET1"
84
85
FormatR16F
= 111,
86
FormatG16R16F
= 112,
87
FormatA16B16G16R16F
= 113,
88
89
FormatR32F
= 114,
90
FormatG32R32F
= 115,
91
FormatA32B32G32R32F
= 116,
92
93
FormatCxV8U8
= 117,
94
95
FormatA1
= 118,
96
FormatA2B10G10R10_XR_BIAS
= 119,
97
FormatBinaryBuffer
= 199,
98
99
FormatP4
,
100
FormatA4P4
,
101
102
FormatLast
= 0x7fffffff
103
};
104
105
struct
DDSPixelFormat
106
{
107
enum
DDSPixelFormatFlags
{
108
FlagAlphaPixels
= 0x00000001,
109
FlagAlpha
= 0x00000002,
110
FlagFourCC
= 0x00000004,
111
FlagPaletteIndexed4
= 0x00000008,
112
FlagPaletteIndexed8
= 0x00000020,
113
FlagRGB
= 0x00000040,
114
FlagYUV
= 0x00000200,
115
FlagLuminance
= 0x00020000,
116
FlagNormal
= 0x00080000,
117
FlagRGBA
=
FlagAlphaPixels
|
FlagRGB
,
118
FlagLA
=
FlagAlphaPixels
|
FlagLuminance
119
};
120
121
quint32
size
;
122
quint32
flags
;
123
quint32
fourCC
;
124
quint32
rgbBitCount
;
125
quint32
rBitMask
;
126
quint32
gBitMask
;
127
quint32
bBitMask
;
128
quint32
aBitMask
;
129
};
130
131
QDataStream
&
operator>>
(
QDataStream
&
s
,
DDSPixelFormat
&pixelFormat);
132
QDataStream
&
operator<<
(
QDataStream
&
s
,
const
DDSPixelFormat
&pixelFormat);
133
134
struct
DDSHeader
135
{
136
enum
DDSFlags
{
137
FlagCaps
= 0x000001,
138
FlagHeight
= 0x000002,
139
FlagWidth
= 0x000004,
140
FlagPitch
= 0x000008,
141
FlagPixelFormat
= 0x001000,
142
FlagMipmapCount
= 0x020000,
143
FlagLinearSize
= 0x080000,
144
FlagDepth
= 0x800000
145
};
146
147
enum
DDSCapsFlags
{
148
CapsComplex
= 0x000008,
149
CapsTexture
= 0x001000,
150
CapsMipmap
= 0x400000
151
};
152
153
enum
DDSCaps2Flags
{
154
Caps2CubeMap
= 0x0200,
155
Caps2CubeMapPositiveX
= 0x0400,
156
Caps2CubeMapNegativeX
= 0x0800,
157
Caps2CubeMapPositiveY
= 0x1000,
158
Caps2CubeMapNegativeY
= 0x2000,
159
Caps2CubeMapPositiveZ
= 0x4000,
160
Caps2CubeMapNegativeZ
= 0x8000,
161
Caps2Volume
= 0x200000
162
};
163
164
enum
{
ReservedCount
= 11 };
165
166
quint32
magic
;
167
quint32
size
;
168
quint32
flags
;
169
quint32
height
;
170
quint32
width
;
171
quint32
pitchOrLinearSize
;
172
quint32
depth
;
173
quint32
mipMapCount
;
174
quint32
reserved1
[
ReservedCount
];
175
DDSPixelFormat
pixelFormat
;
176
quint32
caps
;
177
quint32
caps2
;
178
quint32
caps3
;
179
quint32
caps4
;
180
quint32
reserved2
;
181
};
182
183
QDataStream
&
operator>>
(
QDataStream
&
s
,
DDSHeader
&
header
);
184
QDataStream
&
operator<<
(
QDataStream
&
s
,
const
DDSHeader
&
header
);
185
186
struct
DDSHeaderDX10
187
{
188
quint32
dxgiFormat
;
189
quint32
resourceDimension
;
190
quint32
miscFlag
;
191
quint32
arraySize
;
192
quint32
reserved
;
193
};
194
195
QDataStream
&
operator>>
(
QDataStream
&
s
,
DDSHeaderDX10
&
header
);
196
QDataStream
&
operator<<
(
QDataStream
&
s
,
const
DDSHeaderDX10
&
header
);
197
198
QT_END_NAMESPACE
199
200
#endif
// QT_NO_DATASTREAM
201
202
#endif
// DDSHEADER_H
QDataStream
\inmodule QtCore\reentrant
Definition
qdatastream.h:30
operator>>
QDataStream & operator>>(QDataStream &s, DDSPixelFormat &pixelFormat)
Definition
ddsheader.cpp:11
Format
Format
Definition
ddsheader.h:14
FormatA32B32G32R32F
@ FormatA32B32G32R32F
Definition
ddsheader.h:91
FormatD24FS8
@ FormatD24FS8
Definition
ddsheader.h:70
FormatUnknown
@ FormatUnknown
Definition
ddsheader.h:15
FormatA4P4
@ FormatA4P4
Definition
ddsheader.h:100
FormatD24X4S4
@ FormatD24X4S4
Definition
ddsheader.h:66
FormatUYVY
@ FormatUYVY
Definition
ddsheader.h:49
FormatRXGB
@ FormatRXGB
Definition
ddsheader.h:58
FormatX4R4G4B4
@ FormatX4R4G4B4
Definition
ddsheader.h:27
FormatA8R3G3B2
@ FormatA8R3G3B2
Definition
ddsheader.h:26
FormatR8G8B8G8
@ FormatR8G8B8G8
Definition
ddsheader.h:50
FormatA8
@ FormatA8
Definition
ddsheader.h:25
FormatP4
@ FormatP4
Definition
ddsheader.h:99
FormatA1
@ FormatA1
Definition
ddsheader.h:95
FormatA8P8
@ FormatA8P8
Definition
ddsheader.h:35
FormatX8B8G8R8
@ FormatX8B8G8R8
Definition
ddsheader.h:30
FormatIndex32
@ FormatIndex32
Definition
ddsheader.h:79
FormatA8R8G8B8
@ FormatA8R8G8B8
Definition
ddsheader.h:18
FormatP8
@ FormatP8
Definition
ddsheader.h:36
FormatA2B10G10R10_XR_BIAS
@ FormatA2B10G10R10_XR_BIAS
Definition
ddsheader.h:96
FormatS8Lockable
@ FormatS8Lockable
Definition
ddsheader.h:73
FormatMulti2ARGB8
@ FormatMulti2ARGB8
Definition
ddsheader.h:83
FormatCxV8U8
@ FormatCxV8U8
Definition
ddsheader.h:93
FormatDXT4
@ FormatDXT4
Definition
ddsheader.h:56
FormatA2W10V10U10
@ FormatA2W10V10U10
Definition
ddsheader.h:47
FormatDXT5
@ FormatDXT5
Definition
ddsheader.h:57
FormatR8G8B8
@ FormatR8G8B8
Definition
ddsheader.h:17
FormatL8
@ FormatL8
Definition
ddsheader.h:38
FormatV8U8
@ FormatV8U8
Definition
ddsheader.h:42
FormatG16R16F
@ FormatG16R16F
Definition
ddsheader.h:86
FormatDXT3
@ FormatDXT3
Definition
ddsheader.h:55
FormatA4R4G4B4
@ FormatA4R4G4B4
Definition
ddsheader.h:23
FormatD32Lockable
@ FormatD32Lockable
Definition
ddsheader.h:72
FormatA16B16G16R16
@ FormatA16B16G16R16
Definition
ddsheader.h:33
FormatLast
@ FormatLast
Definition
ddsheader.h:102
FormatDXT2
@ FormatDXT2
Definition
ddsheader.h:54
FormatD32
@ FormatD32
Definition
ddsheader.h:62
FormatD16
@ FormatD16
Definition
ddsheader.h:67
FormatX1R5G5B5
@ FormatX1R5G5B5
Definition
ddsheader.h:21
FormatR32F
@ FormatR32F
Definition
ddsheader.h:89
FormatQ16W16V16U16
@ FormatQ16W16V16U16
Definition
ddsheader.h:81
FormatV16U16
@ FormatV16U16
Definition
ddsheader.h:46
FormatA2B10G10R10
@ FormatA2B10G10R10
Definition
ddsheader.h:28
FormatG16R16
@ FormatG16R16
Definition
ddsheader.h:31
FormatA16B16G16R16F
@ FormatA16B16G16R16F
Definition
ddsheader.h:87
FormatATI2
@ FormatATI2
Definition
ddsheader.h:59
FormatD16Lockable
@ FormatD16Lockable
Definition
ddsheader.h:61
FormatQ8W8V8U8
@ FormatQ8W8V8U8
Definition
ddsheader.h:45
FormatA4L4
@ FormatA4L4
Definition
ddsheader.h:40
FormatA2R10G10B10
@ FormatA2R10G10B10
Definition
ddsheader.h:32
FormatD32FLockable
@ FormatD32FLockable
Definition
ddsheader.h:69
FormatL6V5U5
@ FormatL6V5U5
Definition
ddsheader.h:43
FormatG8R8G8B8
@ FormatG8R8G8B8
Definition
ddsheader.h:52
FormatG32R32F
@ FormatG32R32F
Definition
ddsheader.h:90
FormatD24S8
@ FormatD24S8
Definition
ddsheader.h:64
FormatR5G6B5
@ FormatR5G6B5
Definition
ddsheader.h:20
FormatX8L8V8U8
@ FormatX8L8V8U8
Definition
ddsheader.h:44
FormatX8R8G8B8
@ FormatX8R8G8B8
Definition
ddsheader.h:19
FormatVertexData
@ FormatVertexData
Definition
ddsheader.h:77
FormatYUY2
@ FormatYUY2
Definition
ddsheader.h:51
FormatD24X8
@ FormatD24X8
Definition
ddsheader.h:65
FormatR3G3B2
@ FormatR3G3B2
Definition
ddsheader.h:24
FormatA1R5G5B5
@ FormatA1R5G5B5
Definition
ddsheader.h:22
FormatBinaryBuffer
@ FormatBinaryBuffer
Definition
ddsheader.h:97
FormatL16
@ FormatL16
Definition
ddsheader.h:75
FormatIndex16
@ FormatIndex16
Definition
ddsheader.h:78
FormatD15S1
@ FormatD15S1
Definition
ddsheader.h:63
FormatR16F
@ FormatR16F
Definition
ddsheader.h:85
FormatA8B8G8R8
@ FormatA8B8G8R8
Definition
ddsheader.h:29
FormatDXT1
@ FormatDXT1
Definition
ddsheader.h:53
FormatA8L8
@ FormatA8L8
Definition
ddsheader.h:39
operator<<
QDataStream & operator<<(QDataStream &s, const DDSPixelFormat &pixelFormat)
Definition
ddsheader.cpp:24
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
header
static QString header(const QString &name)
Definition
qdbusxml2cpp.cpp:189
s
GLdouble s
[6]
Definition
qopenglext.h:235
quint32
unsigned int quint32
Definition
qtypes.h:45
DDSHeaderDX10
Definition
ddsheader.h:187
DDSHeaderDX10::arraySize
quint32 arraySize
Definition
ddsheader.h:191
DDSHeaderDX10::miscFlag
quint32 miscFlag
Definition
ddsheader.h:190
DDSHeaderDX10::resourceDimension
quint32 resourceDimension
Definition
ddsheader.h:189
DDSHeaderDX10::dxgiFormat
quint32 dxgiFormat
Definition
ddsheader.h:188
DDSHeaderDX10::reserved
quint32 reserved
Definition
ddsheader.h:192
DDSHeader
Definition
ddsheader.h:135
DDSHeader::mipMapCount
quint32 mipMapCount
Definition
ddsheader.h:173
DDSHeader::DDSCaps2Flags
DDSCaps2Flags
Definition
ddsheader.h:153
DDSHeader::Caps2CubeMapPositiveY
@ Caps2CubeMapPositiveY
Definition
ddsheader.h:157
DDSHeader::Caps2CubeMap
@ Caps2CubeMap
Definition
ddsheader.h:154
DDSHeader::Caps2CubeMapPositiveX
@ Caps2CubeMapPositiveX
Definition
ddsheader.h:155
DDSHeader::Caps2CubeMapNegativeX
@ Caps2CubeMapNegativeX
Definition
ddsheader.h:156
DDSHeader::Caps2CubeMapPositiveZ
@ Caps2CubeMapPositiveZ
Definition
ddsheader.h:159
DDSHeader::Caps2CubeMapNegativeZ
@ Caps2CubeMapNegativeZ
Definition
ddsheader.h:160
DDSHeader::Caps2Volume
@ Caps2Volume
Definition
ddsheader.h:161
DDSHeader::Caps2CubeMapNegativeY
@ Caps2CubeMapNegativeY
Definition
ddsheader.h:158
DDSHeader::pixelFormat
DDSPixelFormat pixelFormat
Definition
ddsheader.h:175
DDSHeader::size
quint32 size
Definition
ddsheader.h:167
DDSHeader::ReservedCount
@ ReservedCount
Definition
ddsheader.h:164
DDSHeader::caps
quint32 caps
Definition
ddsheader.h:176
DDSHeader::DDSCapsFlags
DDSCapsFlags
Definition
ddsheader.h:147
DDSHeader::CapsComplex
@ CapsComplex
Definition
ddsheader.h:148
DDSHeader::CapsMipmap
@ CapsMipmap
Definition
ddsheader.h:150
DDSHeader::CapsTexture
@ CapsTexture
Definition
ddsheader.h:149
DDSHeader::height
quint32 height
Definition
ddsheader.h:169
DDSHeader::magic
quint32 magic
Definition
ddsheader.h:166
DDSHeader::DDSFlags
DDSFlags
Definition
ddsheader.h:136
DDSHeader::FlagHeight
@ FlagHeight
Definition
ddsheader.h:138
DDSHeader::FlagCaps
@ FlagCaps
Definition
ddsheader.h:137
DDSHeader::FlagDepth
@ FlagDepth
Definition
ddsheader.h:144
DDSHeader::FlagWidth
@ FlagWidth
Definition
ddsheader.h:139
DDSHeader::FlagPixelFormat
@ FlagPixelFormat
Definition
ddsheader.h:141
DDSHeader::FlagPitch
@ FlagPitch
Definition
ddsheader.h:140
DDSHeader::FlagLinearSize
@ FlagLinearSize
Definition
ddsheader.h:143
DDSHeader::FlagMipmapCount
@ FlagMipmapCount
Definition
ddsheader.h:142
DDSHeader::reserved2
quint32 reserved2
Definition
ddsheader.h:180
DDSHeader::caps3
quint32 caps3
Definition
ddsheader.h:178
DDSHeader::flags
quint32 flags
Definition
ddsheader.h:168
DDSHeader::pitchOrLinearSize
quint32 pitchOrLinearSize
Definition
ddsheader.h:171
DDSHeader::caps2
quint32 caps2
Definition
ddsheader.h:177
DDSHeader::width
quint32 width
Definition
ddsheader.h:170
DDSHeader::caps4
quint32 caps4
Definition
ddsheader.h:179
DDSHeader::reserved1
quint32 reserved1[ReservedCount]
Definition
ddsheader.h:174
DDSHeader::depth
quint32 depth
Definition
ddsheader.h:172
DDSPixelFormat
Definition
ddsheader.h:106
DDSPixelFormat::gBitMask
quint32 gBitMask
Definition
ddsheader.h:126
DDSPixelFormat::fourCC
quint32 fourCC
Definition
ddsheader.h:123
DDSPixelFormat::rgbBitCount
quint32 rgbBitCount
Definition
ddsheader.h:124
DDSPixelFormat::size
quint32 size
Definition
ddsheader.h:121
DDSPixelFormat::bBitMask
quint32 bBitMask
Definition
ddsheader.h:127
DDSPixelFormat::rBitMask
quint32 rBitMask
Definition
ddsheader.h:125
DDSPixelFormat::DDSPixelFormatFlags
DDSPixelFormatFlags
Definition
ddsheader.h:107
DDSPixelFormat::FlagAlphaPixels
@ FlagAlphaPixels
Definition
ddsheader.h:108
DDSPixelFormat::FlagLuminance
@ FlagLuminance
Definition
ddsheader.h:115
DDSPixelFormat::FlagAlpha
@ FlagAlpha
Definition
ddsheader.h:109
DDSPixelFormat::FlagPaletteIndexed4
@ FlagPaletteIndexed4
Definition
ddsheader.h:111
DDSPixelFormat::FlagFourCC
@ FlagFourCC
Definition
ddsheader.h:110
DDSPixelFormat::FlagLA
@ FlagLA
Definition
ddsheader.h:118
DDSPixelFormat::FlagPaletteIndexed8
@ FlagPaletteIndexed8
Definition
ddsheader.h:112
DDSPixelFormat::FlagYUV
@ FlagYUV
Definition
ddsheader.h:114
DDSPixelFormat::FlagNormal
@ FlagNormal
Definition
ddsheader.h:116
DDSPixelFormat::FlagRGBA
@ FlagRGBA
Definition
ddsheader.h:117
DDSPixelFormat::FlagRGB
@ FlagRGB
Definition
ddsheader.h:113
DDSPixelFormat::flags
quint32 flags
Definition
ddsheader.h:122
DDSPixelFormat::aBitMask
quint32 aBitMask
Definition
ddsheader.h:128
qtimageformats
src
plugins
imageformats
dds
ddsheader.h
Generated by
1.9.7