1 | /*
|
---|
2 | * Copyright 2009 Vincent Povirk for CodeWeavers
|
---|
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 | import "wtypes.idl";
|
---|
29 | import "propidl.idl";
|
---|
30 | import "objidl.idl";
|
---|
31 | import "ocidl.idl";
|
---|
32 |
|
---|
33 | #define CODEC_FORCE_DWORD 0x7fffffff
|
---|
34 |
|
---|
35 | typedef enum WICDecodeOptions {
|
---|
36 | WICDecodeMetadataCacheOnDemand = 0x00000000,
|
---|
37 | WICDecodeMetadataCacheOnLoad = 0x00000001,
|
---|
38 | WICMETADATACACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
39 | } WICDecodeOptions;
|
---|
40 |
|
---|
41 | typedef enum WICBitmapCreateCacheOption {
|
---|
42 | WICBitmapNoCache = 0x00000000,
|
---|
43 | WICBitmapCacheOnDemand = 0x00000001,
|
---|
44 | WICBitmapCacheOnLoad = 0x00000002,
|
---|
45 | WICBITMAPCREATECACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
46 | } WICBitmapCreateCacheOption;
|
---|
47 |
|
---|
48 | typedef enum WICBitmapAlphaChannelOption {
|
---|
49 | WICBitmapUseAlpha = 0x00000000,
|
---|
50 | WICBitmapUsePremultipliedAlpha = 0x00000001,
|
---|
51 | WICBitmapIgnoreAlpha = 0x00000002,
|
---|
52 | WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
53 | } WICBitmapAlphaChannelOption;
|
---|
54 |
|
---|
55 | typedef enum WICBitmapDecoderCapabilities {
|
---|
56 | WICBitmapDecoderCapabilitySameEncoder = 0x00000001,
|
---|
57 | WICBitmapDecoderCapabilityCanDecodeAllImages = 0x00000002,
|
---|
58 | WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x00000004,
|
---|
59 | WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x00000008,
|
---|
60 | WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x00000010,
|
---|
61 | } WICBitmapDecoderCapabilities;
|
---|
62 |
|
---|
63 | typedef enum WICBitmapPaletteType {
|
---|
64 | WICBitmapPaletteTypeCustom = 0x00000000,
|
---|
65 | WICBitmapPaletteTypeMedianCut = 0x00000001,
|
---|
66 | WICBitmapPaletteTypeFixedBW = 0x00000002,
|
---|
67 | WICBitmapPaletteTypeFixedHalftone8 = 0x00000003,
|
---|
68 | WICBitmapPaletteTypeFixedHalftone27 = 0x00000004,
|
---|
69 | WICBitmapPaletteTypeFixedHalftone64 = 0x00000005,
|
---|
70 | WICBitmapPaletteTypeFixedHalftone125 = 0x00000006,
|
---|
71 | WICBitmapPaletteTypeFixedHalftone216 = 0x00000007,
|
---|
72 | WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216,
|
---|
73 | WICBitmapPaletteTypeFixedHalftone252 = 0x00000008,
|
---|
74 | WICBitmapPaletteTypeFixedHalftone256 = 0x00000009,
|
---|
75 | WICBitmapPaletteTypeFixedGray4 = 0x0000000A,
|
---|
76 | WICBitmapPaletteTypeFixedGray16 = 0x0000000B,
|
---|
77 | WICBitmapPaletteTypeFixedGray256 = 0x0000000C,
|
---|
78 | WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
79 | } WICBitmapPaletteType;
|
---|
80 |
|
---|
81 | typedef enum WICComponentType {
|
---|
82 | WICDecoder = 0x00000001,
|
---|
83 | WICEncoder = 0x00000002,
|
---|
84 | WICPixelFormatConverter = 0x00000004,
|
---|
85 | WICMetadataReader = 0x00000008,
|
---|
86 | WICMetadataWriter = 0x00000010,
|
---|
87 | WICPixelFormat = 0x00000020,
|
---|
88 | WICCOMPONENTTYPE_FORCE_DWORD = CODEC_FORCE_DWORD
|
---|
89 | } WICComponentType;
|
---|
90 |
|
---|
91 | typedef enum WICComponentSigning {
|
---|
92 | WICComponentSigned = 0x00000001,
|
---|
93 | WICComponentUnsigned = 0x00000002,
|
---|
94 | WICComponentSafe = 0x00000004,
|
---|
95 | WICComponentDisabled = 0x80000000
|
---|
96 | } WICComponentSigning;
|
---|
97 |
|
---|
98 | typedef enum WICComponentEnumerateOptions {
|
---|
99 | WICComponentEnumerateDefault = 0x00000000,
|
---|
100 | WICComponentEnumerateRefresh = 0x00000001,
|
---|
101 | WICComponentEnumerateBuiltInOnly = 0x20000000,
|
---|
102 | WICComponentEnumerateUnsigned = 0x40000000,
|
---|
103 | WICComponentEnumerateDisabled = 0x80000000
|
---|
104 | } WICComponentEnumerateOptions;
|
---|
105 |
|
---|
106 | typedef GUID WICPixelFormatGUID;
|
---|
107 | typedef REFGUID REFWICPixelFormatGUID;
|
---|
108 |
|
---|
109 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);")
|
---|
110 | cpp_quote("#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare")
|
---|
111 |
|
---|
112 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);")
|
---|
113 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);")
|
---|
114 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);")
|
---|
115 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);")
|
---|
116 |
|
---|
117 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);")
|
---|
118 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);")
|
---|
119 | cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);")
|
---|
120 |
|
---|
121 | typedef struct WICRect {
|
---|
122 | INT X;
|
---|
123 | INT Y;
|
---|
124 | INT Width;
|
---|
125 | INT Height;
|
---|
126 | } WICRect;
|
---|
127 |
|
---|
128 | typedef struct WICBitmapPattern {
|
---|
129 | ULARGE_INTEGER Position;
|
---|
130 | ULONG Length;
|
---|
131 | BYTE *Pattern;
|
---|
132 | BYTE *Mask;
|
---|
133 | BOOL EndOfStream;
|
---|
134 | } WICBitmapPattern;
|
---|
135 |
|
---|
136 | typedef UINT32 WICColor;
|
---|
137 |
|
---|
138 | cpp_quote("#define WINCODEC_ERR_WRONGSTATE 0x88982f04")
|
---|
139 | cpp_quote("#define WINCODEC_ERR_CODECNOTHUMBNAIL 0x88982f44")
|
---|
140 | cpp_quote("#define WINCODEC_ERR_PALETTEUNAVAILABLE 0x88982f45")
|
---|
141 | cpp_quote("#define WINCODEC_ERR_COMPONENTNOTFOUND 0x88982f50")
|
---|
142 | cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDOPERATION 0x88982f81")
|
---|
143 | cpp_quote("#define WINCODEC_ERR_INSUFFICIENTBUFFER 0x88982f8c")
|
---|
144 |
|
---|
145 | interface IWICBitmap;
|
---|
146 | interface IWICBitmapEncoder;
|
---|
147 | interface IWICPalette;
|
---|
148 | interface IWICFormatConverter;
|
---|
149 | interface IWICBitmapScaler;
|
---|
150 | interface IWICBitmapClipper;
|
---|
151 | interface IWICBitmapFlipRotator;
|
---|
152 | interface IWICStream;
|
---|
153 | interface IWICColorContext;
|
---|
154 | interface IWICColorTransform;
|
---|
155 | interface IWICFastMetadataEncoder;
|
---|
156 | interface IWICMetadataQueryReader;
|
---|
157 | interface IWICMetadataQueryWriter;
|
---|
158 |
|
---|
159 | [
|
---|
160 | object,
|
---|
161 | uuid(00000120-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
162 | ]
|
---|
163 | interface IWICBitmapSource : IUnknown
|
---|
164 | {
|
---|
165 | HRESULT GetSize(
|
---|
166 | [out] UINT *puiWidth,
|
---|
167 | [out] UINT *puiHeight);
|
---|
168 |
|
---|
169 | HRESULT GetPixelFormat(
|
---|
170 | [out] WICPixelFormatGUID *pPixelFormat);
|
---|
171 |
|
---|
172 | HRESULT GetResolution(
|
---|
173 | [out] double *pDpiX,
|
---|
174 | [out] double *pDpiY);
|
---|
175 |
|
---|
176 | HRESULT CopyPalette(
|
---|
177 | [in] IWICPalette *pIPalette);
|
---|
178 |
|
---|
179 | HRESULT CopyPixels(
|
---|
180 | [in] const WICRect *prc,
|
---|
181 | [in] UINT cbStride,
|
---|
182 | [in] UINT cbBufferSize,
|
---|
183 | [out, size_is(cbBufferSize)] BYTE *pbBuffer);
|
---|
184 | }
|
---|
185 |
|
---|
186 | [
|
---|
187 | object,
|
---|
188 | uuid(00000040-a8f2-4877-ba0a-fd2b6645fb94)
|
---|
189 | ]
|
---|
190 | interface IWICPalette : IUnknown
|
---|
191 | {
|
---|
192 | HRESULT InitializePredefined(
|
---|
193 | [in] WICBitmapPaletteType ePaletteType,
|
---|
194 | [in] BOOL fAddTransparentColor);
|
---|
195 |
|
---|
196 | HRESULT InitializeCustom(
|
---|
197 | [in, size_is(colorCount)] WICColor *pColors,
|
---|
198 | [in] UINT colorCount);
|
---|
199 |
|
---|
200 | HRESULT InitializeFromBitmap(
|
---|
201 | [in] IWICBitmapSource *pISurface,
|
---|
202 | [in] UINT colorCount,
|
---|
203 | [in] BOOL fAddTransparentColor);
|
---|
204 |
|
---|
205 | HRESULT InitializeFromPalette(
|
---|
206 | [in] IWICPalette *pIPalette);
|
---|
207 |
|
---|
208 | HRESULT GetType(
|
---|
209 | [out] WICBitmapPaletteType *pePaletteType);
|
---|
210 |
|
---|
211 | HRESULT GetColorCount(
|
---|
212 | [out] UINT *pcCount);
|
---|
213 |
|
---|
214 | HRESULT GetColors(
|
---|
215 | [in] UINT colorCount,
|
---|
216 | [out, size_is(colorCount)] WICColor *pColors,
|
---|
217 | [out] UINT *pcActualColors);
|
---|
218 |
|
---|
219 | HRESULT IsBlackWhite(
|
---|
220 | [out] BOOL *pfIsBlackWhite);
|
---|
221 |
|
---|
222 | HRESULT IsGrayscale(
|
---|
223 | [out] BOOL *pfIsGrayscale);
|
---|
224 |
|
---|
225 | HRESULT HasAlpha(
|
---|
226 | [out] BOOL *pfHasAlpha);
|
---|
227 | }
|
---|
228 |
|
---|
229 | [
|
---|
230 | object,
|
---|
231 | uuid(23bc3f0a-698b-4357-886b-f24d50671334)
|
---|
232 | ]
|
---|
233 | interface IWICComponentInfo : IUnknown
|
---|
234 | {
|
---|
235 | HRESULT GetComponentType(
|
---|
236 | [out] WICComponentType *pType);
|
---|
237 |
|
---|
238 | HRESULT GetCLSID(
|
---|
239 | [out] CLSID *pclsid);
|
---|
240 |
|
---|
241 | HRESULT GetSigningStatus(
|
---|
242 | [out] DWORD *pStatus);
|
---|
243 |
|
---|
244 | HRESULT GetAuthor(
|
---|
245 | [in] UINT cchAuthor,
|
---|
246 | [in, out, unique, size_is(cchAuthor)] WCHAR *wzAuthor,
|
---|
247 | [out] UINT *pcchActual);
|
---|
248 |
|
---|
249 | HRESULT GetVendorGUID(
|
---|
250 | [out] GUID *pguidVendor);
|
---|
251 |
|
---|
252 | HRESULT GetVersion(
|
---|
253 | [in] UINT cchVersion,
|
---|
254 | [in, out, unique, size_is(cchVersion)] WCHAR *wzVersion,
|
---|
255 | [out] UINT *pcchActual);
|
---|
256 |
|
---|
257 | HRESULT GetSpecVersion(
|
---|
258 | [in] UINT cchSpecVersion,
|
---|
259 | [in, out, unique, size_is(cchSpecVersion)] WCHAR *wzSpecVersion,
|
---|
260 | [out] UINT *pcchActual);
|
---|
261 |
|
---|
262 | HRESULT GetFriendlyName(
|
---|
263 | [in] UINT cchFriendlyName,
|
---|
264 | [in, out, unique, size_is(cchFriendlyName)] WCHAR *wzFriendlyName,
|
---|
265 | [out] UINT *pcchActual);
|
---|
266 | }
|
---|
267 |
|
---|
268 | [
|
---|
269 | object,
|
---|
270 | uuid(3b16811b-6a43-4ec9-a813-3d930c13b940)
|
---|
271 | ]
|
---|
272 | interface IWICBitmapFrameDecode : IWICBitmapSource
|
---|
273 | {
|
---|
274 | HRESULT GetMetadataQueryReader(
|
---|
275 | [out] IWICMetadataQueryReader **ppIMetadataQueryReader);
|
---|
276 |
|
---|
277 | HRESULT GetColorContexts(
|
---|
278 | [in] UINT cCount,
|
---|
279 | [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts,
|
---|
280 | [out] UINT *pcActualCount);
|
---|
281 |
|
---|
282 | HRESULT GetThumbnail(
|
---|
283 | [out] IWICBitmapSource **ppIThumbnail);
|
---|
284 | }
|
---|
285 |
|
---|
286 | [
|
---|
287 | object,
|
---|
288 | uuid(e87a44c4-b76e-4c47-8b09-298eb12a2714)
|
---|
289 | ]
|
---|
290 | interface IWICBitmapCodecInfo : IWICComponentInfo
|
---|
291 | {
|
---|
292 | HRESULT GetContainerFormat(
|
---|
293 | [out] GUID *pguidContainerFormat);
|
---|
294 |
|
---|
295 | HRESULT GetPixelFormats(
|
---|
296 | [in] UINT cFormats,
|
---|
297 | [in, out, unique, size_is(cFormats)] GUID *pguidPixelFormats,
|
---|
298 | [out] UINT *pcActual);
|
---|
299 |
|
---|
300 | HRESULT GetColorManagementVersion(
|
---|
301 | [in] UINT cchColorManagementVersion,
|
---|
302 | [in, out, unique, size_is(cchColorManagementVersion)] WCHAR *wzColorManagementVersion,
|
---|
303 | [out] UINT *pcchActual);
|
---|
304 |
|
---|
305 | HRESULT GetDeviceManufacturer(
|
---|
306 | [in] UINT cchDeviceManufacturer,
|
---|
307 | [in, out, unique, size_is(cchDeviceManufacturer)] WCHAR *wzDeviceManufacturer,
|
---|
308 | [out] UINT *pcchActual);
|
---|
309 |
|
---|
310 | HRESULT GetDeviceModels(
|
---|
311 | [in] UINT cchDeviceModels,
|
---|
312 | [in, out, unique, size_is(cchDeviceModels)] WCHAR *wzDeviceModels,
|
---|
313 | [out] UINT *pcchActual);
|
---|
314 |
|
---|
315 | HRESULT GetMimeTypes(
|
---|
316 | [in] UINT cchMimeTypes,
|
---|
317 | [in, out, unique, size_is(cchMimeTypes)] WCHAR *wzMimeTypes,
|
---|
318 | [out] UINT *pcchActual);
|
---|
319 |
|
---|
320 | HRESULT GetFileExtensions(
|
---|
321 | [in] UINT cchFileExtensions,
|
---|
322 | [in, out, unique, size_is(cchFileExtensions)] WCHAR *wzFileExtensions,
|
---|
323 | [out] UINT *pcchActual);
|
---|
324 |
|
---|
325 | HRESULT DoesSupportAnimation(
|
---|
326 | [out] BOOL *pfSupportAnimation);
|
---|
327 |
|
---|
328 | HRESULT DoesSupportChromaKey(
|
---|
329 | [out] BOOL *pfSupportChromaKey);
|
---|
330 |
|
---|
331 | HRESULT DoesSupportLossless(
|
---|
332 | [out] BOOL *pfSupportLossless);
|
---|
333 |
|
---|
334 | HRESULT DoesSupportMultiframe(
|
---|
335 | [out] BOOL *pfSupportMultiframe);
|
---|
336 |
|
---|
337 | HRESULT MatchesMimeType(
|
---|
338 | [in] LPCWSTR wzMimeType,
|
---|
339 | [out] BOOL *pfMatches);
|
---|
340 | }
|
---|
341 |
|
---|
342 | interface IWICBitmapDecoder;
|
---|
343 |
|
---|
344 | [
|
---|
345 | object,
|
---|
346 | uuid(d8cd007f-d08f-4191-9bfc-236ea7f0e4b5)
|
---|
347 | ]
|
---|
348 | interface IWICBitmapDecoderInfo : IWICBitmapCodecInfo
|
---|
349 | {
|
---|
350 | [local]
|
---|
351 | HRESULT GetPatterns(
|
---|
352 | [in] UINT cbSizePatterns,
|
---|
353 | [in, out, unique] WICBitmapPattern *pPatterns,
|
---|
354 | [in, out, unique] UINT *pcPatterns,
|
---|
355 | [in, out, unique] UINT *pcbPatternsActual);
|
---|
356 |
|
---|
357 | HRESULT MatchesPattern(
|
---|
358 | [in] IStream *pIStream,
|
---|
359 | [out] BOOL *pfMatches);
|
---|
360 |
|
---|
361 | HRESULT CreateInstance(
|
---|
362 | [out] IWICBitmapDecoder **ppIBitmapDecoder);
|
---|
363 | }
|
---|
364 |
|
---|
365 | [
|
---|
366 | object,
|
---|
367 | uuid(9edde9e7-8dee-47ea-99df-e6faf2ed44bf)
|
---|
368 | ]
|
---|
369 | interface IWICBitmapDecoder : IUnknown
|
---|
370 | {
|
---|
371 | HRESULT QueryCapability(
|
---|
372 | [in] IStream *pIStream,
|
---|
373 | [out] DWORD *pdwCapability);
|
---|
374 |
|
---|
375 | HRESULT Initialize(
|
---|
376 | [in] IStream *pIStream,
|
---|
377 | [in] WICDecodeOptions cacheOptions);
|
---|
378 |
|
---|
379 | HRESULT GetContainerFormat(
|
---|
380 | [out] GUID *pguidContainerFormat);
|
---|
381 |
|
---|
382 | HRESULT GetDecoderInfo(
|
---|
383 | [out] IWICBitmapDecoderInfo **ppIDecoderInfo);
|
---|
384 |
|
---|
385 | HRESULT CopyPalette(
|
---|
386 | [in] IWICPalette *pIPalette);
|
---|
387 |
|
---|
388 | HRESULT GetMetadataQueryReader(
|
---|
389 | [out] IWICMetadataQueryReader **ppIMetadataQueryReader);
|
---|
390 |
|
---|
391 | HRESULT GetPreview(
|
---|
392 | [out] IWICBitmapSource **ppIBitmapSource);
|
---|
393 |
|
---|
394 | HRESULT GetColorContexts(
|
---|
395 | [in] UINT cCount,
|
---|
396 | [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts,
|
---|
397 | [out] UINT *pcActualCount);
|
---|
398 |
|
---|
399 | HRESULT GetThumbnail(
|
---|
400 | [out] IWICBitmapSource **ppIThumbnail);
|
---|
401 |
|
---|
402 | HRESULT GetFrameCount(
|
---|
403 | [out] UINT *pCount);
|
---|
404 |
|
---|
405 | HRESULT GetFrame(
|
---|
406 | [in] UINT index,
|
---|
407 | [out] IWICBitmapFrameDecode **ppIBitmapFrame);
|
---|
408 | }
|
---|
409 |
|
---|
410 | cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);")
|
---|
411 |
|
---|
412 | [
|
---|
413 | object,
|
---|
414 | uuid(ec5ec8a9-c395-4314-9c77-54d7a935ff70)
|
---|
415 | ]
|
---|
416 | interface IWICImagingFactory : IUnknown
|
---|
417 | {
|
---|
418 | HRESULT CreateDecoderFromFilename(
|
---|
419 | [in] LPCWSTR wzFilename,
|
---|
420 | [in, unique] const GUID *pguidVendor,
|
---|
421 | [in] DWORD dwDesiredAccess,
|
---|
422 | [in] WICDecodeOptions metadataOptions,
|
---|
423 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
424 |
|
---|
425 | HRESULT CreateDecoderFromStream(
|
---|
426 | [in] IStream *pIStream,
|
---|
427 | [in, unique] const GUID *pguidVendor,
|
---|
428 | [in] WICDecodeOptions metadataOptions,
|
---|
429 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
430 |
|
---|
431 | HRESULT CreateDecoderFromFileHandle(
|
---|
432 | [in] ULONG_PTR hFile,
|
---|
433 | [in, unique] const GUID *pguidVendor,
|
---|
434 | [in] WICDecodeOptions metadataOptions,
|
---|
435 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
436 |
|
---|
437 | HRESULT CreateComponentInfo(
|
---|
438 | [in] REFCLSID clsidComponent,
|
---|
439 | [out] IWICComponentInfo **ppIInfo);
|
---|
440 |
|
---|
441 | HRESULT CreateDecoder(
|
---|
442 | [in] REFGUID guidContainerFormat,
|
---|
443 | [in, unique] const GUID *pguidVendor,
|
---|
444 | [out, retval] IWICBitmapDecoder **ppIDecoder);
|
---|
445 |
|
---|
446 | HRESULT CreateEncoder(
|
---|
447 | [in] REFGUID guidContainerFormat,
|
---|
448 | [in, unique] const GUID *pguidVendor,
|
---|
449 | [out, retval] IWICBitmapEncoder **ppIEncoder);
|
---|
450 |
|
---|
451 | HRESULT CreatePalette(
|
---|
452 | [out] IWICPalette **ppIPalette);
|
---|
453 |
|
---|
454 | HRESULT CreateFormatConverter(
|
---|
455 | [out] IWICFormatConverter **ppIFormatConverter);
|
---|
456 |
|
---|
457 | HRESULT CreateBitmapScaler(
|
---|
458 | [out] IWICBitmapScaler **ppIBitmapScaler);
|
---|
459 |
|
---|
460 | HRESULT CreateBitmapClipper(
|
---|
461 | [out] IWICBitmapClipper **ppIBitmapClipper);
|
---|
462 |
|
---|
463 | HRESULT CreateBitmapFlipRotator(
|
---|
464 | [out] IWICBitmapFlipRotator **ppIBitmapFlipRotator);
|
---|
465 |
|
---|
466 | HRESULT CreateStream(
|
---|
467 | [out] IWICStream **ppIWICStream);
|
---|
468 |
|
---|
469 | HRESULT CreateColorContext(
|
---|
470 | [out] IWICColorContext **ppIWICColorContext);
|
---|
471 |
|
---|
472 | HRESULT CreateColorTransformer(
|
---|
473 | [out] IWICColorTransform **ppIWICColorTransform);
|
---|
474 |
|
---|
475 | HRESULT CreateBitmap(
|
---|
476 | [in] UINT uiWidth,
|
---|
477 | [in] UINT uiHeight,
|
---|
478 | [in] REFWICPixelFormatGUID pixelFormat,
|
---|
479 | [in] WICBitmapCreateCacheOption option,
|
---|
480 | [out] IWICBitmap **ppIBitmap);
|
---|
481 |
|
---|
482 | HRESULT CreateBitmapFromSource(
|
---|
483 | [in] IWICBitmapSource *piBitmapSource,
|
---|
484 | [in] WICBitmapCreateCacheOption option,
|
---|
485 | [out] IWICBitmap **ppIBitmap);
|
---|
486 |
|
---|
487 | HRESULT CreateBitmapFromSourceRect(
|
---|
488 | [in] IWICBitmapSource *piBitmapSource,
|
---|
489 | [in] UINT x,
|
---|
490 | [in] UINT y,
|
---|
491 | [in] UINT width,
|
---|
492 | [in] UINT height,
|
---|
493 | [out] IWICBitmap **ppIBitmap);
|
---|
494 |
|
---|
495 | HRESULT CreateBitmapFromMemory(
|
---|
496 | [in] UINT uiWidth,
|
---|
497 | [in] UINT uiHeight,
|
---|
498 | [in] REFWICPixelFormatGUID pixelFormat,
|
---|
499 | [in] UINT cbStride,
|
---|
500 | [in] UINT cbBufferSize,
|
---|
501 | [in, size_is(cbBufferSize)] BYTE *pbBuffer,
|
---|
502 | [out] IWICBitmap **ppIBitmap);
|
---|
503 |
|
---|
504 | HRESULT CreateBitmapFromHBITMAP(
|
---|
505 | [in] HBITMAP hBitmap,
|
---|
506 | [in, unique] HPALETTE hPalette,
|
---|
507 | [in] WICBitmapAlphaChannelOption options,
|
---|
508 | [out] IWICBitmap **ppIBitmap);
|
---|
509 |
|
---|
510 | HRESULT CreateBitmapFromHICON(
|
---|
511 | [in] HICON hIcon,
|
---|
512 | [out] IWICBitmap **ppIBitmap);
|
---|
513 |
|
---|
514 | HRESULT CreateComponentEnumerator(
|
---|
515 | [in] DWORD componentTypes,
|
---|
516 | [in] DWORD options,
|
---|
517 | [out] IEnumUnknown **ppIEnumUnknown);
|
---|
518 |
|
---|
519 | HRESULT CreateFastMetadataEncoderFromDecoder(
|
---|
520 | [in] IWICBitmapDecoder *pIDecoder,
|
---|
521 | [out] IWICFastMetadataEncoder **ppIFastEncoder);
|
---|
522 |
|
---|
523 | HRESULT CreateFastMetadataEncoderFromFrameDecode(
|
---|
524 | [in] IWICBitmapFrameDecode *pIFrameDecoder,
|
---|
525 | [out] IWICFastMetadataEncoder **ppIFastEncoder);
|
---|
526 |
|
---|
527 | HRESULT CreateQueryWriter(
|
---|
528 | [in] REFGUID guidMetadataFormat,
|
---|
529 | [in, unique] const GUID *pguidVendor,
|
---|
530 | [out] IWICMetadataQueryWriter **ppIQueryWriter);
|
---|
531 |
|
---|
532 | HRESULT CreateQueryWriterFromReader(
|
---|
533 | [in] IWICMetadataQueryReader *pIQueryReader,
|
---|
534 | [in, unique] const GUID *pguidVendor,
|
---|
535 | [out] IWICMetadataQueryWriter **ppIQueryWriter);
|
---|
536 | }
|
---|
537 |
|
---|
538 | cpp_quote("DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);")
|
---|
539 | cpp_quote("DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);")
|
---|
540 | cpp_quote("DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);")
|
---|
541 | cpp_quote("DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);")
|
---|
542 | cpp_quote("DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);")
|
---|
543 | cpp_quote("DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);")
|
---|
544 | cpp_quote("DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);")
|
---|
545 |
|
---|
546 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);")
|
---|
547 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);")
|
---|
548 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);")
|
---|
549 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);")
|
---|
550 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);")
|
---|
551 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);")
|
---|
552 | cpp_quote("DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);")
|
---|
553 |
|
---|
554 | cpp_quote("DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);")
|
---|
555 |
|
---|
556 | cpp_quote("DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);")
|
---|