VirtualBox

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

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

export the Wine stuff to OSE

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

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