VirtualBox

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

最後變更 在這個檔案從19711是 19678,由 vboxsync 提交於 16 年 前

opengl: update wine to 1.1.21, add d3d9.dll to build list

  • 屬性 svn:eol-style 設為 native
檔案大小: 15.8 KB
 
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
43enum ImageLockMode
44{
45 ImageLockModeRead = 1,
46 ImageLockModeWrite = 2,
47 ImageLockModeUserInputBuf = 4
48};
49
50enum RotateFlipType
51{
52 RotateNoneFlipNone = 0,
53 Rotate180FlipXY = RotateNoneFlipNone,
54
55 Rotate90FlipNone = 1,
56 Rotate270FlipXY = Rotate90FlipNone,
57
58 Rotate180FlipNone = 2,
59 RotateNoneFlipXY = Rotate180FlipNone,
60
61 Rotate270FlipNone = 3,
62 Rotate90FlipXY = Rotate270FlipNone,
63
64 RotateNoneFlipX = 4,
65 Rotate180FlipY = RotateNoneFlipX,
66
67 Rotate90FlipX = 5,
68 Rotate270FlipY = Rotate90FlipX,
69
70 Rotate180FlipX = 6,
71 RotateNoneFlipY = Rotate180FlipX,
72
73 Rotate270FlipX = 7,
74 Rotate90FlipY = Rotate270FlipX
75};
76
77#ifdef __cplusplus
78class EncoderParameter
79{
80public:
81 GUID Guid;
82 ULONG NumberOfValues;
83 ULONG Type;
84 VOID* Value;
85};
86
87class EncoderParameters
88{
89public:
90 UINT Count;
91 EncoderParameter Parameter[1];
92};
93
94class ImageCodecInfo
95{
96public:
97 CLSID Clsid;
98 GUID FormatID;
99 const WCHAR* CodecName;
100 const WCHAR* DllName;
101 const WCHAR* FormatDescription;
102 const WCHAR* FilenameExtension;
103 const WCHAR* MimeType;
104 DWORD Flags;
105 DWORD Version;
106 DWORD SigCount;
107 DWORD SigSize;
108 const BYTE* SigPattern;
109 const BYTE* SigMask;
110};
111
112class BitmapData
113{
114public:
115 UINT Width;
116 UINT Height;
117 INT Stride;
118 PixelFormat PixelFormat;
119 VOID* Scan0;
120 UINT_PTR Reserved;
121};
122
123class ImageItemData
124{
125public:
126 UINT Size;
127 UINT Position;
128 VOID* Desc;
129 UINT DescSize;
130 VOID* Data;
131 UINT DataSize;
132 UINT Cookie;
133};
134
135class PropertyItem
136{
137public:
138 PROPID id;
139 ULONG length;
140 WORD type;
141 VOID* value;
142};
143
144#else /* end of c++ typedefs */
145
146typedef enum ImageLockMode ImageLockMode;
147typedef enum RotateFlipType RotateFlipType;
148
149typedef struct EncoderParameter
150{
151 GUID Guid;
152 ULONG NumberOfValues;
153 ULONG Type;
154 VOID* Value;
155} EncoderParameter;
156
157typedef struct EncoderParameters
158{
159 UINT Count;
160 EncoderParameter Parameter[1];
161} EncoderParameters;
162
163typedef struct ImageCodecInfo
164{
165 CLSID Clsid;
166 GUID FormatID;
167 const WCHAR* CodecName;
168 const WCHAR* DllName;
169 const WCHAR* FormatDescription;
170 const WCHAR* FilenameExtension;
171 const WCHAR* MimeType;
172 DWORD Flags;
173 DWORD Version;
174 DWORD SigCount;
175 DWORD SigSize;
176 const BYTE* SigPattern;
177 const BYTE* SigMask;
178} ImageCodecInfo;
179
180typedef struct BitmapData
181{
182 UINT Width;
183 UINT Height;
184 INT Stride;
185 PixelFormat PixelFormat;
186 VOID* Scan0;
187 UINT_PTR Reserved; /* undocumented: stores the lock mode */
188} BitmapData;
189
190typedef struct ImageItemData
191{
192 UINT Size;
193 UINT Position;
194 VOID* Desc;
195 UINT DescSize;
196 VOID* Data;
197 UINT DataSize;
198 UINT Cookie;
199} ImageItemData;
200
201typedef struct PropertyItem
202{
203 PROPID id;
204 ULONG length;
205 WORD type;
206 VOID* value;
207} PropertyItem;
208
209#endif /* end of c typedefs */
210
211/* property types */
212#define PropertyTagTypeByte 1
213#define PropertyTagTypeASCII 2
214#define PropertyTagTypeShort 3
215#define PropertyTagTypeLong 4
216#define PropertyTagTypeRational 5
217#define PropertyTagTypeUndefined 7
218#define PropertyTagTypeSLONG 9
219#define PropertyTagTypeSRational 10
220
221/* property IDs */
222#define PropertyTagExifIFD 0x8769
223#define PropertyTagGpsIFD 0x8825
224
225#define PropertyTagNewSubfileType 0x00FE
226#define PropertyTagSubfileType 0x00FF
227#define PropertyTagImageWidth 0x0100
228#define PropertyTagImageHeight 0x0101
229#define PropertyTagBitsPerSample 0x0102
230#define PropertyTagCompression 0x0103
231#define PropertyTagPhotometricInterp 0x0106
232#define PropertyTagThreshHolding 0x0107
233#define PropertyTagCellWidth 0x0108
234#define PropertyTagCellHeight 0x0109
235#define PropertyTagFillOrder 0x010A
236#define PropertyTagDocumentName 0x010D
237#define PropertyTagImageDescription 0x010E
238#define PropertyTagEquipMake 0x010F
239#define PropertyTagEquipModel 0x0110
240#define PropertyTagStripOffsets 0x0111
241#define PropertyTagOrientation 0x0112
242#define PropertyTagSamplesPerPixel 0x0115
243#define PropertyTagRowsPerStrip 0x0116
244#define PropertyTagStripBytesCount 0x0117
245#define PropertyTagMinSampleValue 0x0118
246#define PropertyTagMaxSampleValue 0x0119
247#define PropertyTagXResolution 0x011A
248#define PropertyTagYResolution 0x011B
249#define PropertyTagPlanarConfig 0x011C
250#define PropertyTagPageName 0x011D
251#define PropertyTagXPosition 0x011E
252#define PropertyTagYPosition 0x011F
253#define PropertyTagFreeOffset 0x0120
254#define PropertyTagFreeByteCounts 0x0121
255#define PropertyTagGrayResponseUnit 0x0122
256#define PropertyTagGrayResponseCurve 0x0123
257#define PropertyTagT4Option 0x0124
258#define PropertyTagT6Option 0x0125
259#define PropertyTagResolutionUnit 0x0128
260#define PropertyTagPageNumber 0x0129
261#define PropertyTagTransferFuncition 0x012D
262#define PropertyTagSoftwareUsed 0x0131
263#define PropertyTagDateTime 0x0132
264#define PropertyTagArtist 0x013B
265#define PropertyTagHostComputer 0x013C
266#define PropertyTagPredictor 0x013D
267#define PropertyTagWhitePoint 0x013E
268#define PropertyTagPrimaryChromaticities 0x013F
269#define PropertyTagColorMap 0x0140
270#define PropertyTagHalftoneHints 0x0141
271#define PropertyTagTileWidth 0x0142
272#define PropertyTagTileLength 0x0143
273#define PropertyTagTileOffset 0x0144
274#define PropertyTagTileByteCounts 0x0145
275#define PropertyTagInkSet 0x014C
276#define PropertyTagInkNames 0x014D
277#define PropertyTagNumberOfInks 0x014E
278#define PropertyTagDotRange 0x0150
279#define PropertyTagTargetPrinter 0x0151
280#define PropertyTagExtraSamples 0x0152
281#define PropertyTagSampleFormat 0x0153
282#define PropertyTagSMinSampleValue 0x0154
283#define PropertyTagSMaxSampleValue 0x0155
284#define PropertyTagTransferRange 0x0156
285
286#define PropertyTagJPEGProc 0x0200
287#define PropertyTagJPEGInterFormat 0x0201
288#define PropertyTagJPEGInterLength 0x0202
289#define PropertyTagJPEGRestartInterval 0x0203
290#define PropertyTagJPEGLosslessPredictors 0x0205
291#define PropertyTagJPEGPointTransforms 0x0206
292#define PropertyTagJPEGQTables 0x0207
293#define PropertyTagJPEGDCTables 0x0208
294#define PropertyTagJPEGACTables 0x0209
295
296#define PropertyTagYCbCrCoefficients 0x0211
297#define PropertyTagYCbCrSubsampling 0x0212
298#define PropertyTagYCbCrPositioning 0x0213
299#define PropertyTagREFBlackWhite 0x0214
300
301#define PropertyTagICCProfile 0x8773
302
303#define PropertyTagGamma 0x0301
304#define PropertyTagICCProfileDescriptor 0x0302
305#define PropertyTagSRGBRenderingIntent 0x0303
306
307#define PropertyTagImageTitle 0x0320
308#define PropertyTagCopyright 0x8298
309
310#define PropertyTagResolutionXUnit 0x5001
311#define PropertyTagResolutionYUnit 0x5002
312#define PropertyTagResolutionXLengthUnit 0x5003
313#define PropertyTagResolutionYLengthUnit 0x5004
314#define PropertyTagPrintFlags 0x5005
315#define PropertyTagPrintFlagsVersion 0x5006
316#define PropertyTagPrintFlagsCrop 0x5007
317#define PropertyTagPrintFlagsBleedWidth 0x5008
318#define PropertyTagPrintFlagsBleedWidthScale 0x5009
319#define PropertyTagHalftoneLPI 0x500A
320#define PropertyTagHalftoneLPIUnit 0x500B
321#define PropertyTagHalftoneDegree 0x500C
322#define PropertyTagHalftoneShape 0x500D
323#define PropertyTagHalftoneMisc 0x500E
324#define PropertyTagHalftoneScreen 0x500F
325#define PropertyTagJPEGQuality 0x5010
326#define PropertyTagGridSize 0x5011
327#define PropertyTagThumbnailFormat 0x5012
328#define PropertyTagThumbnailWidth 0x5013
329#define PropertyTagThumbnailHeight 0x5014
330#define PropertyTagThumbnailColorDepth 0x5015
331#define PropertyTagThumbnailPlanes 0x5016
332#define PropertyTagThumbnailRawBytes 0x5017
333#define PropertyTagThumbnailSize 0x5018
334#define PropertyTagThumbnailCompressedSize 0x5019
335#define PropertyTagColorTransferFunction 0x501A
336#define PropertyTagThumbnailData 0x501B
337
338#define PropertyTagThumbnailImageWidth 0x5020
339#define PropertyTagThumbnailImageHeight 0x5021
340#define PropertyTagThumbnailBitsPerSample 0x5022
341#define PropertyTagThumbnailCompression 0x5023
342#define PropertyTagThumbnailPhotometricInterp 0x5024
343#define PropertyTagThumbnailImageDescription 0x5025
344#define PropertyTagThumbnailEquipMake 0x5026
345#define PropertyTagThumbnailEquipModel 0x5027
346#define PropertyTagThumbnailStripOffsets 0x5028
347#define PropertyTagThumbnailOrientation 0x5029
348#define PropertyTagThumbnailSamplesPerPixel 0x502A
349#define PropertyTagThumbnailRowsPerStrip 0x502B
350#define PropertyTagThumbnailStripBytesCount 0x502C
351#define PropertyTagThumbnailResolutionX 0x502D
352#define PropertyTagThumbnailResolutionY 0x502E
353#define PropertyTagThumbnailPlanarConfig 0x502F
354#define PropertyTagThumbnailResolutionUnit 0x5030
355#define PropertyTagThumbnailTransferFunction 0x5031
356#define PropertyTagThumbnailSoftwareUsed 0x5032
357#define PropertyTagThumbnailDateTime 0x5033
358#define PropertyTagThumbnailArtist 0x5034
359#define PropertyTagThumbnailWhitePoint 0x5035
360#define PropertyTagThumbnailPrimaryChromaticities 0x5036
361#define PropertyTagThumbnailYCbCrCoefficients 0x5037
362#define PropertyTagThumbnailYCbCrSubsampling 0x5038
363#define PropertyTagThumbnailYCbCrPositioning 0x5039
364#define PropertyTagThumbnailRefBlackWhite 0x503A
365#define PropertyTagThumbnailCopyRight 0x503B
366
367#define PropertyTagLuminanceTable 0x5090
368#define PropertyTagChrominanceTable 0x5091
369
370#define PropertyTagFrameDelay 0x5100
371#define PropertyTagLoopCount 0x5101
372
373#define PropertyTagPixelUnit 0x5110
374#define PropertyTagPixelPerUnitX 0x5111
375#define PropertyTagPixelPerUnitY 0x5112
376#define PropertyTagPaletteHistogram 0x5113
377
378#define PropertyTagExifExposureTime 0x829A
379#define PropertyTagExifFNumber 0x829D
380
381#define PropertyTagExifExposureProg 0x8822
382#define PropertyTagExifSpectralSense 0x8824
383#define PropertyTagExifISOSpeed 0x8827
384#define PropertyTagExifOECF 0x8828
385
386#define PropertyTagExifVer 0x9000
387#define PropertyTagExifDTOrig 0x9003
388#define PropertyTagExifDTDigitized 0x9004
389
390#define PropertyTagExifCompConfig 0x9101
391#define PropertyTagExifCompBPP 0x9102
392
393#define PropertyTagExifShutterSpeed 0x9201
394#define PropertyTagExifAperture 0x9202
395#define PropertyTagExifBrightness 0x9203
396#define PropertyTagExifExposureBias 0x9204
397#define PropertyTagExifMaxAperture 0x9205
398#define PropertyTagExifSubjectDist 0x9206
399#define PropertyTagExifMeteringMode 0x9207
400#define PropertyTagExifLightSource 0x9208
401#define PropertyTagExifFlash 0x9209
402#define PropertyTagExifFocalLength 0x920A
403#define PropertyTagExifMakerNote 0x927C
404#define PropertyTagExifUserComment 0x9286
405#define PropertyTagExifDTSubsec 0x9290
406#define PropertyTagExifDTOrigSS 0x9291
407#define PropertyTagExifDTDigSS 0x9292
408
409#define PropertyTagExifFPXVer 0xA000
410#define PropertyTagExifColorSpace 0xA001
411#define PropertyTagExifPixXDim 0xA002
412#define PropertyTagExifPixYDim 0xA003
413#define PropertyTagExifRelatedWav 0xA004
414#define PropertyTagExifInterop 0xA005
415#define PropertyTagExifFlashEnergy 0xA20B
416#define PropertyTagExifSpatialFR 0xA20C
417#define PropertyTagExifFocalXRes 0xA20E
418#define PropertyTagExifFocalYRes 0xA20F
419#define PropertyTagExifFocalResUnit 0xA210
420#define PropertyTagExifSubjectLoc 0xA214
421#define PropertyTagExifExposureIndex 0xA215
422#define PropertyTagExifSensingMethod 0xA217
423#define PropertyTagExifFileSource 0xA300
424#define PropertyTagExifSceneType 0xA301
425#define PropertyTagExifCfaPattern 0xA302
426
427#define PropertyTagGpsVer 0x0000
428#define PropertyTagGpsLatitudeRef 0x0001
429#define PropertyTagGpsLatitude 0x0002
430#define PropertyTagGpsLongitudeRef 0x0003
431#define PropertyTagGpsLongitude 0x0004
432#define PropertyTagGpsAltitudeRef 0x0005
433#define PropertyTagGpsAltitude 0x0006
434#define PropertyTagGpsGpsTime 0x0007
435#define PropertyTagGpsGpsSatellites 0x0008
436#define PropertyTagGpsGpsStatus 0x0009
437#define PropertyTagGpsGpsMeasureMode 0x000A
438#define PropertyTagGpsGpsDop 0x000B
439#define PropertyTagGpsSpeedRef 0x000C
440#define PropertyTagGpsSpeed 0x000D
441#define PropertyTagGpsTrackRef 0x000E
442#define PropertyTagGpsTrack 0x000F
443#define PropertyTagGpsImgDirRef 0x0010
444#define PropertyTagGpsImgDir 0x0011
445#define PropertyTagGpsMapDatum 0x0012
446#define PropertyTagGpsDestLatRef 0x0013
447#define PropertyTagGpsDestLat 0x0014
448#define PropertyTagGpsDestLongRef 0x0015
449#define PropertyTagGpsDestLong 0x0016
450#define PropertyTagGpsDestBearRef 0x0017
451#define PropertyTagGpsDestBear 0x0018
452#define PropertyTagGpsDestDistRef 0x0019
453#define PropertyTagGpsDestDist 0x001A
454
455#endif /* _GDIPLUSIMAGING_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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