VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/gdiplusimaging.h@ 33282

Last change on this file since 33282 was 25949, checked in by vboxsync, 15 years ago

crOpenGL: update to wine 1.1.36 and disable unnecessary fbo state poll

  • Property svn:eol-style set to native
File size: 16.1 KB
Line 
1/*
2 * Copyright (C) 2007 Google (Evan Stade)
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef _GDIPLUSIMAGING_H
29#define _GDIPLUSIMAGING_H
30
31DEFINE_GUID(ImageFormatUndefined, 0xb96b3ca9, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
32DEFINE_GUID(ImageFormatMemoryBMP, 0xb96b3caa, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
33DEFINE_GUID(ImageFormatBMP, 0xb96b3cab, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
34DEFINE_GUID(ImageFormatEMF, 0xb96b3cac, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
35DEFINE_GUID(ImageFormatWMF, 0xb96b3cad, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
36DEFINE_GUID(ImageFormatJPEG, 0xb96b3cae, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
37DEFINE_GUID(ImageFormatPNG, 0xb96b3caf, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
38DEFINE_GUID(ImageFormatGIF, 0xb96b3cb0, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
39DEFINE_GUID(ImageFormatTIFF, 0xb96b3cb1, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
40DEFINE_GUID(ImageFormatEXIF, 0xb96b3cb2, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
41DEFINE_GUID(ImageFormatIcon, 0xb96b3cb5, 0x728, 0x11d3, 0x9d, 0x7b, 0, 0, 0xf8, 0x1e, 0xf3, 0x2e);
42
43DEFINE_GUID(FrameDimensionTime, 0x6aedbd6d, 0x3fb5, 0x418a, 0x83, 0xa6, 0x7f, 0x45, 0x22, 0x9d, 0xc8, 0x72);
44DEFINE_GUID(FrameDimensionPage, 0x7462dc86, 0x6180, 0x4c7e, 0x8e, 0x3f, 0xee, 0x73, 0x33, 0xa7, 0xa4, 0x83);
45DEFINE_GUID(FrameDimensionResolution, 0x84236f7b, 0x3bd3, 0x428f, 0x8d, 0xab, 0x4e, 0xa1, 0x43, 0x9c, 0xa3, 0x15);
46
47enum ImageLockMode
48{
49 ImageLockModeRead = 1,
50 ImageLockModeWrite = 2,
51 ImageLockModeUserInputBuf = 4
52};
53
54enum RotateFlipType
55{
56 RotateNoneFlipNone = 0,
57 Rotate180FlipXY = RotateNoneFlipNone,
58
59 Rotate90FlipNone = 1,
60 Rotate270FlipXY = Rotate90FlipNone,
61
62 Rotate180FlipNone = 2,
63 RotateNoneFlipXY = Rotate180FlipNone,
64
65 Rotate270FlipNone = 3,
66 Rotate90FlipXY = Rotate270FlipNone,
67
68 RotateNoneFlipX = 4,
69 Rotate180FlipY = RotateNoneFlipX,
70
71 Rotate90FlipX = 5,
72 Rotate270FlipY = Rotate90FlipX,
73
74 Rotate180FlipX = 6,
75 RotateNoneFlipY = Rotate180FlipX,
76
77 Rotate270FlipX = 7,
78 Rotate90FlipY = Rotate270FlipX
79};
80
81#ifdef __cplusplus
82class EncoderParameter
83{
84public:
85 GUID Guid;
86 ULONG NumberOfValues;
87 ULONG Type;
88 VOID* Value;
89};
90
91class EncoderParameters
92{
93public:
94 UINT Count;
95 EncoderParameter Parameter[1];
96};
97
98class ImageCodecInfo
99{
100public:
101 CLSID Clsid;
102 GUID FormatID;
103 const WCHAR* CodecName;
104 const WCHAR* DllName;
105 const WCHAR* FormatDescription;
106 const WCHAR* FilenameExtension;
107 const WCHAR* MimeType;
108 DWORD Flags;
109 DWORD Version;
110 DWORD SigCount;
111 DWORD SigSize;
112 const BYTE* SigPattern;
113 const BYTE* SigMask;
114};
115
116class BitmapData
117{
118public:
119 UINT Width;
120 UINT Height;
121 INT Stride;
122 PixelFormat PixelFormat;
123 VOID* Scan0;
124 UINT_PTR Reserved;
125};
126
127class ImageItemData
128{
129public:
130 UINT Size;
131 UINT Position;
132 VOID* Desc;
133 UINT DescSize;
134 VOID* Data;
135 UINT DataSize;
136 UINT Cookie;
137};
138
139class PropertyItem
140{
141public:
142 PROPID id;
143 ULONG length;
144 WORD type;
145 VOID* value;
146};
147
148#else /* end of c++ typedefs */
149
150typedef enum ImageLockMode ImageLockMode;
151typedef enum RotateFlipType RotateFlipType;
152
153typedef struct EncoderParameter
154{
155 GUID Guid;
156 ULONG NumberOfValues;
157 ULONG Type;
158 VOID* Value;
159} EncoderParameter;
160
161typedef struct EncoderParameters
162{
163 UINT Count;
164 EncoderParameter Parameter[1];
165} EncoderParameters;
166
167typedef struct ImageCodecInfo
168{
169 CLSID Clsid;
170 GUID FormatID;
171 const WCHAR* CodecName;
172 const WCHAR* DllName;
173 const WCHAR* FormatDescription;
174 const WCHAR* FilenameExtension;
175 const WCHAR* MimeType;
176 DWORD Flags;
177 DWORD Version;
178 DWORD SigCount;
179 DWORD SigSize;
180 const BYTE* SigPattern;
181 const BYTE* SigMask;
182} ImageCodecInfo;
183
184typedef struct BitmapData
185{
186 UINT Width;
187 UINT Height;
188 INT Stride;
189 PixelFormat PixelFormat;
190 VOID* Scan0;
191 UINT_PTR Reserved; /* undocumented: stores the lock mode */
192} BitmapData;
193
194typedef struct ImageItemData
195{
196 UINT Size;
197 UINT Position;
198 VOID* Desc;
199 UINT DescSize;
200 VOID* Data;
201 UINT DataSize;
202 UINT Cookie;
203} ImageItemData;
204
205typedef struct PropertyItem
206{
207 PROPID id;
208 ULONG length;
209 WORD type;
210 VOID* value;
211} PropertyItem;
212
213#endif /* end of c typedefs */
214
215/* property types */
216#define PropertyTagTypeByte 1
217#define PropertyTagTypeASCII 2
218#define PropertyTagTypeShort 3
219#define PropertyTagTypeLong 4
220#define PropertyTagTypeRational 5
221#define PropertyTagTypeUndefined 7
222#define PropertyTagTypeSLONG 9
223#define PropertyTagTypeSRational 10
224
225/* property IDs */
226#define PropertyTagExifIFD 0x8769
227#define PropertyTagGpsIFD 0x8825
228
229#define PropertyTagNewSubfileType 0x00FE
230#define PropertyTagSubfileType 0x00FF
231#define PropertyTagImageWidth 0x0100
232#define PropertyTagImageHeight 0x0101
233#define PropertyTagBitsPerSample 0x0102
234#define PropertyTagCompression 0x0103
235#define PropertyTagPhotometricInterp 0x0106
236#define PropertyTagThreshHolding 0x0107
237#define PropertyTagCellWidth 0x0108
238#define PropertyTagCellHeight 0x0109
239#define PropertyTagFillOrder 0x010A
240#define PropertyTagDocumentName 0x010D
241#define PropertyTagImageDescription 0x010E
242#define PropertyTagEquipMake 0x010F
243#define PropertyTagEquipModel 0x0110
244#define PropertyTagStripOffsets 0x0111
245#define PropertyTagOrientation 0x0112
246#define PropertyTagSamplesPerPixel 0x0115
247#define PropertyTagRowsPerStrip 0x0116
248#define PropertyTagStripBytesCount 0x0117
249#define PropertyTagMinSampleValue 0x0118
250#define PropertyTagMaxSampleValue 0x0119
251#define PropertyTagXResolution 0x011A
252#define PropertyTagYResolution 0x011B
253#define PropertyTagPlanarConfig 0x011C
254#define PropertyTagPageName 0x011D
255#define PropertyTagXPosition 0x011E
256#define PropertyTagYPosition 0x011F
257#define PropertyTagFreeOffset 0x0120
258#define PropertyTagFreeByteCounts 0x0121
259#define PropertyTagGrayResponseUnit 0x0122
260#define PropertyTagGrayResponseCurve 0x0123
261#define PropertyTagT4Option 0x0124
262#define PropertyTagT6Option 0x0125
263#define PropertyTagResolutionUnit 0x0128
264#define PropertyTagPageNumber 0x0129
265#define PropertyTagTransferFuncition 0x012D
266#define PropertyTagSoftwareUsed 0x0131
267#define PropertyTagDateTime 0x0132
268#define PropertyTagArtist 0x013B
269#define PropertyTagHostComputer 0x013C
270#define PropertyTagPredictor 0x013D
271#define PropertyTagWhitePoint 0x013E
272#define PropertyTagPrimaryChromaticities 0x013F
273#define PropertyTagColorMap 0x0140
274#define PropertyTagHalftoneHints 0x0141
275#define PropertyTagTileWidth 0x0142
276#define PropertyTagTileLength 0x0143
277#define PropertyTagTileOffset 0x0144
278#define PropertyTagTileByteCounts 0x0145
279#define PropertyTagInkSet 0x014C
280#define PropertyTagInkNames 0x014D
281#define PropertyTagNumberOfInks 0x014E
282#define PropertyTagDotRange 0x0150
283#define PropertyTagTargetPrinter 0x0151
284#define PropertyTagExtraSamples 0x0152
285#define PropertyTagSampleFormat 0x0153
286#define PropertyTagSMinSampleValue 0x0154
287#define PropertyTagSMaxSampleValue 0x0155
288#define PropertyTagTransferRange 0x0156
289
290#define PropertyTagJPEGProc 0x0200
291#define PropertyTagJPEGInterFormat 0x0201
292#define PropertyTagJPEGInterLength 0x0202
293#define PropertyTagJPEGRestartInterval 0x0203
294#define PropertyTagJPEGLosslessPredictors 0x0205
295#define PropertyTagJPEGPointTransforms 0x0206
296#define PropertyTagJPEGQTables 0x0207
297#define PropertyTagJPEGDCTables 0x0208
298#define PropertyTagJPEGACTables 0x0209
299
300#define PropertyTagYCbCrCoefficients 0x0211
301#define PropertyTagYCbCrSubsampling 0x0212
302#define PropertyTagYCbCrPositioning 0x0213
303#define PropertyTagREFBlackWhite 0x0214
304
305#define PropertyTagICCProfile 0x8773
306
307#define PropertyTagGamma 0x0301
308#define PropertyTagICCProfileDescriptor 0x0302
309#define PropertyTagSRGBRenderingIntent 0x0303
310
311#define PropertyTagImageTitle 0x0320
312#define PropertyTagCopyright 0x8298
313
314#define PropertyTagResolutionXUnit 0x5001
315#define PropertyTagResolutionYUnit 0x5002
316#define PropertyTagResolutionXLengthUnit 0x5003
317#define PropertyTagResolutionYLengthUnit 0x5004
318#define PropertyTagPrintFlags 0x5005
319#define PropertyTagPrintFlagsVersion 0x5006
320#define PropertyTagPrintFlagsCrop 0x5007
321#define PropertyTagPrintFlagsBleedWidth 0x5008
322#define PropertyTagPrintFlagsBleedWidthScale 0x5009
323#define PropertyTagHalftoneLPI 0x500A
324#define PropertyTagHalftoneLPIUnit 0x500B
325#define PropertyTagHalftoneDegree 0x500C
326#define PropertyTagHalftoneShape 0x500D
327#define PropertyTagHalftoneMisc 0x500E
328#define PropertyTagHalftoneScreen 0x500F
329#define PropertyTagJPEGQuality 0x5010
330#define PropertyTagGridSize 0x5011
331#define PropertyTagThumbnailFormat 0x5012
332#define PropertyTagThumbnailWidth 0x5013
333#define PropertyTagThumbnailHeight 0x5014
334#define PropertyTagThumbnailColorDepth 0x5015
335#define PropertyTagThumbnailPlanes 0x5016
336#define PropertyTagThumbnailRawBytes 0x5017
337#define PropertyTagThumbnailSize 0x5018
338#define PropertyTagThumbnailCompressedSize 0x5019
339#define PropertyTagColorTransferFunction 0x501A
340#define PropertyTagThumbnailData 0x501B
341
342#define PropertyTagThumbnailImageWidth 0x5020
343#define PropertyTagThumbnailImageHeight 0x5021
344#define PropertyTagThumbnailBitsPerSample 0x5022
345#define PropertyTagThumbnailCompression 0x5023
346#define PropertyTagThumbnailPhotometricInterp 0x5024
347#define PropertyTagThumbnailImageDescription 0x5025
348#define PropertyTagThumbnailEquipMake 0x5026
349#define PropertyTagThumbnailEquipModel 0x5027
350#define PropertyTagThumbnailStripOffsets 0x5028
351#define PropertyTagThumbnailOrientation 0x5029
352#define PropertyTagThumbnailSamplesPerPixel 0x502A
353#define PropertyTagThumbnailRowsPerStrip 0x502B
354#define PropertyTagThumbnailStripBytesCount 0x502C
355#define PropertyTagThumbnailResolutionX 0x502D
356#define PropertyTagThumbnailResolutionY 0x502E
357#define PropertyTagThumbnailPlanarConfig 0x502F
358#define PropertyTagThumbnailResolutionUnit 0x5030
359#define PropertyTagThumbnailTransferFunction 0x5031
360#define PropertyTagThumbnailSoftwareUsed 0x5032
361#define PropertyTagThumbnailDateTime 0x5033
362#define PropertyTagThumbnailArtist 0x5034
363#define PropertyTagThumbnailWhitePoint 0x5035
364#define PropertyTagThumbnailPrimaryChromaticities 0x5036
365#define PropertyTagThumbnailYCbCrCoefficients 0x5037
366#define PropertyTagThumbnailYCbCrSubsampling 0x5038
367#define PropertyTagThumbnailYCbCrPositioning 0x5039
368#define PropertyTagThumbnailRefBlackWhite 0x503A
369#define PropertyTagThumbnailCopyRight 0x503B
370
371#define PropertyTagLuminanceTable 0x5090
372#define PropertyTagChrominanceTable 0x5091
373
374#define PropertyTagFrameDelay 0x5100
375#define PropertyTagLoopCount 0x5101
376
377#define PropertyTagPixelUnit 0x5110
378#define PropertyTagPixelPerUnitX 0x5111
379#define PropertyTagPixelPerUnitY 0x5112
380#define PropertyTagPaletteHistogram 0x5113
381
382#define PropertyTagExifExposureTime 0x829A
383#define PropertyTagExifFNumber 0x829D
384
385#define PropertyTagExifExposureProg 0x8822
386#define PropertyTagExifSpectralSense 0x8824
387#define PropertyTagExifISOSpeed 0x8827
388#define PropertyTagExifOECF 0x8828
389
390#define PropertyTagExifVer 0x9000
391#define PropertyTagExifDTOrig 0x9003
392#define PropertyTagExifDTDigitized 0x9004
393
394#define PropertyTagExifCompConfig 0x9101
395#define PropertyTagExifCompBPP 0x9102
396
397#define PropertyTagExifShutterSpeed 0x9201
398#define PropertyTagExifAperture 0x9202
399#define PropertyTagExifBrightness 0x9203
400#define PropertyTagExifExposureBias 0x9204
401#define PropertyTagExifMaxAperture 0x9205
402#define PropertyTagExifSubjectDist 0x9206
403#define PropertyTagExifMeteringMode 0x9207
404#define PropertyTagExifLightSource 0x9208
405#define PropertyTagExifFlash 0x9209
406#define PropertyTagExifFocalLength 0x920A
407#define PropertyTagExifMakerNote 0x927C
408#define PropertyTagExifUserComment 0x9286
409#define PropertyTagExifDTSubsec 0x9290
410#define PropertyTagExifDTOrigSS 0x9291
411#define PropertyTagExifDTDigSS 0x9292
412
413#define PropertyTagExifFPXVer 0xA000
414#define PropertyTagExifColorSpace 0xA001
415#define PropertyTagExifPixXDim 0xA002
416#define PropertyTagExifPixYDim 0xA003
417#define PropertyTagExifRelatedWav 0xA004
418#define PropertyTagExifInterop 0xA005
419#define PropertyTagExifFlashEnergy 0xA20B
420#define PropertyTagExifSpatialFR 0xA20C
421#define PropertyTagExifFocalXRes 0xA20E
422#define PropertyTagExifFocalYRes 0xA20F
423#define PropertyTagExifFocalResUnit 0xA210
424#define PropertyTagExifSubjectLoc 0xA214
425#define PropertyTagExifExposureIndex 0xA215
426#define PropertyTagExifSensingMethod 0xA217
427#define PropertyTagExifFileSource 0xA300
428#define PropertyTagExifSceneType 0xA301
429#define PropertyTagExifCfaPattern 0xA302
430
431#define PropertyTagGpsVer 0x0000
432#define PropertyTagGpsLatitudeRef 0x0001
433#define PropertyTagGpsLatitude 0x0002
434#define PropertyTagGpsLongitudeRef 0x0003
435#define PropertyTagGpsLongitude 0x0004
436#define PropertyTagGpsAltitudeRef 0x0005
437#define PropertyTagGpsAltitude 0x0006
438#define PropertyTagGpsGpsTime 0x0007
439#define PropertyTagGpsGpsSatellites 0x0008
440#define PropertyTagGpsGpsStatus 0x0009
441#define PropertyTagGpsGpsMeasureMode 0x000A
442#define PropertyTagGpsGpsDop 0x000B
443#define PropertyTagGpsSpeedRef 0x000C
444#define PropertyTagGpsSpeed 0x000D
445#define PropertyTagGpsTrackRef 0x000E
446#define PropertyTagGpsTrack 0x000F
447#define PropertyTagGpsImgDirRef 0x0010
448#define PropertyTagGpsImgDir 0x0011
449#define PropertyTagGpsMapDatum 0x0012
450#define PropertyTagGpsDestLatRef 0x0013
451#define PropertyTagGpsDestLat 0x0014
452#define PropertyTagGpsDestLongRef 0x0015
453#define PropertyTagGpsDestLong 0x0016
454#define PropertyTagGpsDestBearRef 0x0017
455#define PropertyTagGpsDestBear 0x0018
456#define PropertyTagGpsDestDistRef 0x0019
457#define PropertyTagGpsDestDist 0x001A
458
459#endif /* _GDIPLUSIMAGING_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette