1/*** Autogenerated by WIDL 11.6 from include/wincodec.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __wincodec_h__
17#define __wincodec_h__
18
19/* Forward declarations */
20
21#ifndef __IWICColorContext_FWD_DEFINED__
22#define __IWICColorContext_FWD_DEFINED__
23typedef interface IWICColorContext IWICColorContext;
24#ifdef __cplusplus
25interface IWICColorContext;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IWICBitmapSource_FWD_DEFINED__
30#define __IWICBitmapSource_FWD_DEFINED__
31typedef interface IWICBitmapSource IWICBitmapSource;
32#ifdef __cplusplus
33interface IWICBitmapSource;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IWICBitmapLock_FWD_DEFINED__
38#define __IWICBitmapLock_FWD_DEFINED__
39typedef interface IWICBitmapLock IWICBitmapLock;
40#ifdef __cplusplus
41interface IWICBitmapLock;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IWICBitmapFlipRotator_FWD_DEFINED__
46#define __IWICBitmapFlipRotator_FWD_DEFINED__
47typedef interface IWICBitmapFlipRotator IWICBitmapFlipRotator;
48#ifdef __cplusplus
49interface IWICBitmapFlipRotator;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IWICBitmap_FWD_DEFINED__
54#define __IWICBitmap_FWD_DEFINED__
55typedef interface IWICBitmap IWICBitmap;
56#ifdef __cplusplus
57interface IWICBitmap;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IWICPalette_FWD_DEFINED__
62#define __IWICPalette_FWD_DEFINED__
63typedef interface IWICPalette IWICPalette;
64#ifdef __cplusplus
65interface IWICPalette;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IWICComponentInfo_FWD_DEFINED__
70#define __IWICComponentInfo_FWD_DEFINED__
71typedef interface IWICComponentInfo IWICComponentInfo;
72#ifdef __cplusplus
73interface IWICComponentInfo;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IWICMetadataQueryReader_FWD_DEFINED__
78#define __IWICMetadataQueryReader_FWD_DEFINED__
79typedef interface IWICMetadataQueryReader IWICMetadataQueryReader;
80#ifdef __cplusplus
81interface IWICMetadataQueryReader;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IWICMetadataQueryWriter_FWD_DEFINED__
86#define __IWICMetadataQueryWriter_FWD_DEFINED__
87typedef interface IWICMetadataQueryWriter IWICMetadataQueryWriter;
88#ifdef __cplusplus
89interface IWICMetadataQueryWriter;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IWICBitmapFrameDecode_FWD_DEFINED__
94#define __IWICBitmapFrameDecode_FWD_DEFINED__
95typedef interface IWICBitmapFrameDecode IWICBitmapFrameDecode;
96#ifdef __cplusplus
97interface IWICBitmapFrameDecode;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IWICPixelFormatInfo_FWD_DEFINED__
102#define __IWICPixelFormatInfo_FWD_DEFINED__
103typedef interface IWICPixelFormatInfo IWICPixelFormatInfo;
104#ifdef __cplusplus
105interface IWICPixelFormatInfo;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IWICPixelFormatInfo2_FWD_DEFINED__
110#define __IWICPixelFormatInfo2_FWD_DEFINED__
111typedef interface IWICPixelFormatInfo2 IWICPixelFormatInfo2;
112#ifdef __cplusplus
113interface IWICPixelFormatInfo2;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IWICBitmapCodecInfo_FWD_DEFINED__
118#define __IWICBitmapCodecInfo_FWD_DEFINED__
119typedef interface IWICBitmapCodecInfo IWICBitmapCodecInfo;
120#ifdef __cplusplus
121interface IWICBitmapCodecInfo;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __IWICBitmapDecoderInfo_FWD_DEFINED__
126#define __IWICBitmapDecoderInfo_FWD_DEFINED__
127typedef interface IWICBitmapDecoderInfo IWICBitmapDecoderInfo;
128#ifdef __cplusplus
129interface IWICBitmapDecoderInfo;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IWICBitmapDecoder_FWD_DEFINED__
134#define __IWICBitmapDecoder_FWD_DEFINED__
135typedef interface IWICBitmapDecoder IWICBitmapDecoder;
136#ifdef __cplusplus
137interface IWICBitmapDecoder;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IWICBitmapFrameEncode_FWD_DEFINED__
142#define __IWICBitmapFrameEncode_FWD_DEFINED__
143typedef interface IWICBitmapFrameEncode IWICBitmapFrameEncode;
144#ifdef __cplusplus
145interface IWICBitmapFrameEncode;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IWICBitmapEncoderInfo_FWD_DEFINED__
150#define __IWICBitmapEncoderInfo_FWD_DEFINED__
151typedef interface IWICBitmapEncoderInfo IWICBitmapEncoderInfo;
152#ifdef __cplusplus
153interface IWICBitmapEncoderInfo;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IWICBitmapEncoder_FWD_DEFINED__
158#define __IWICBitmapEncoder_FWD_DEFINED__
159typedef interface IWICBitmapEncoder IWICBitmapEncoder;
160#ifdef __cplusplus
161interface IWICBitmapEncoder;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IWICFormatConverter_FWD_DEFINED__
166#define __IWICFormatConverter_FWD_DEFINED__
167typedef interface IWICFormatConverter IWICFormatConverter;
168#ifdef __cplusplus
169interface IWICFormatConverter;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IWICFormatConverterInfo_FWD_DEFINED__
174#define __IWICFormatConverterInfo_FWD_DEFINED__
175typedef interface IWICFormatConverterInfo IWICFormatConverterInfo;
176#ifdef __cplusplus
177interface IWICFormatConverterInfo;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IWICStream_FWD_DEFINED__
182#define __IWICStream_FWD_DEFINED__
183typedef interface IWICStream IWICStream;
184#ifdef __cplusplus
185interface IWICStream;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __IWICBitmapScaler_FWD_DEFINED__
190#define __IWICBitmapScaler_FWD_DEFINED__
191typedef interface IWICBitmapScaler IWICBitmapScaler;
192#ifdef __cplusplus
193interface IWICBitmapScaler;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IWICBitmapClipper_FWD_DEFINED__
198#define __IWICBitmapClipper_FWD_DEFINED__
199typedef interface IWICBitmapClipper IWICBitmapClipper;
200#ifdef __cplusplus
201interface IWICBitmapClipper;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __IWICColorTransform_FWD_DEFINED__
206#define __IWICColorTransform_FWD_DEFINED__
207typedef interface IWICColorTransform IWICColorTransform;
208#ifdef __cplusplus
209interface IWICColorTransform;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __IWICFastMetadataEncoder_FWD_DEFINED__
214#define __IWICFastMetadataEncoder_FWD_DEFINED__
215typedef interface IWICFastMetadataEncoder IWICFastMetadataEncoder;
216#ifdef __cplusplus
217interface IWICFastMetadataEncoder;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __IWICImageEncoder_FWD_DEFINED__
222#define __IWICImageEncoder_FWD_DEFINED__
223typedef interface IWICImageEncoder IWICImageEncoder;
224#ifdef __cplusplus
225interface IWICImageEncoder;
226#endif /* __cplusplus */
227#endif
228
229#ifndef __IWICImagingFactory_FWD_DEFINED__
230#define __IWICImagingFactory_FWD_DEFINED__
231typedef interface IWICImagingFactory IWICImagingFactory;
232#ifdef __cplusplus
233interface IWICImagingFactory;
234#endif /* __cplusplus */
235#endif
236
237#ifndef __IWICImagingFactory2_FWD_DEFINED__
238#define __IWICImagingFactory2_FWD_DEFINED__
239typedef interface IWICImagingFactory2 IWICImagingFactory2;
240#ifdef __cplusplus
241interface IWICImagingFactory2;
242#endif /* __cplusplus */
243#endif
244
245#ifndef __IWICEnumMetadataItem_FWD_DEFINED__
246#define __IWICEnumMetadataItem_FWD_DEFINED__
247typedef interface IWICEnumMetadataItem IWICEnumMetadataItem;
248#ifdef __cplusplus
249interface IWICEnumMetadataItem;
250#endif /* __cplusplus */
251#endif
252
253#ifndef __IWICDdsDecoder_FWD_DEFINED__
254#define __IWICDdsDecoder_FWD_DEFINED__
255typedef interface IWICDdsDecoder IWICDdsDecoder;
256#ifdef __cplusplus
257interface IWICDdsDecoder;
258#endif /* __cplusplus */
259#endif
260
261#ifndef __IWICDdsEncoder_FWD_DEFINED__
262#define __IWICDdsEncoder_FWD_DEFINED__
263typedef interface IWICDdsEncoder IWICDdsEncoder;
264#ifdef __cplusplus
265interface IWICDdsEncoder;
266#endif /* __cplusplus */
267#endif
268
269#ifndef __IWICDdsFrameDecode_FWD_DEFINED__
270#define __IWICDdsFrameDecode_FWD_DEFINED__
271typedef interface IWICDdsFrameDecode IWICDdsFrameDecode;
272#ifdef __cplusplus
273interface IWICDdsFrameDecode;
274#endif /* __cplusplus */
275#endif
276
277/* Headers for imported files */
278
279#include <wtypes.h>
280#include <propidl.h>
281#include <ocidl.h>
282#include <dxgiformat.h>
283
284#ifdef __cplusplus
285extern "C" {
286#endif
287
288#include "dcommon.h"
289#define WINCODEC_SDK_VERSION 0x0236
290typedef enum WICDecodeOptions {
291 WICDecodeMetadataCacheOnDemand = 0x0,
292 WICDecodeMetadataCacheOnLoad = 0x1,
293 WICMETADATACACHEOPTION_FORCE_DWORD = 0x7fffffff
294} WICDecodeOptions;
295typedef enum WICBitmapCreateCacheOption {
296 WICBitmapNoCache = 0x0,
297 WICBitmapCacheOnDemand = 0x1,
298 WICBitmapCacheOnLoad = 0x2,
299 WICBITMAPCREATECACHEOPTION_FORCE_DWORD = 0x7fffffff
300} WICBitmapCreateCacheOption;
301typedef enum WICBitmapAlphaChannelOption {
302 WICBitmapUseAlpha = 0x0,
303 WICBitmapUsePremultipliedAlpha = 0x1,
304 WICBitmapIgnoreAlpha = 0x2,
305 WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = 0x7fffffff
306} WICBitmapAlphaChannelOption;
307typedef enum WICBitmapDecoderCapabilities {
308 WICBitmapDecoderCapabilitySameEncoder = 0x1,
309 WICBitmapDecoderCapabilityCanDecodeAllImages = 0x2,
310 WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x4,
311 WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x8,
312 WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x10
313} WICBitmapDecoderCapabilities;
314typedef enum WICBitmapDitherType {
315 WICBitmapDitherTypeNone = 0x0,
316 WICBitmapDitherTypeSolid = 0x0,
317 WICBitmapDitherTypeOrdered4x4 = 0x1,
318 WICBitmapDitherTypeOrdered8x8 = 0x2,
319 WICBitmapDitherTypeOrdered16x16 = 0x3,
320 WICBitmapDitherTypeSpiral4x4 = 0x4,
321 WICBitmapDitherTypeSpiral8x8 = 0x5,
322 WICBitmapDitherTypeDualSpiral4x4 = 0x6,
323 WICBitmapDitherTypeDualSpiral8x8 = 0x7,
324 WICBitmapDitherTypeErrorDiffusion = 0x8,
325 WICBITMAPDITHERTYPE_FORCE_DWORD = 0x7fffffff
326} WICBitmapDitherType;
327typedef enum WICBitmapEncoderCacheOption {
328 WICBitmapEncoderCacheInMemory = 0x0,
329 WICBitmapEncoderCacheTempFile = 0x1,
330 WICBitmapEncoderNoCache = 0x2,
331 WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = 0x7fffffff
332} WICBitmapEncoderCacheOption;
333typedef enum WICBitmapInterpolationMode {
334 WICBitmapInterpolationModeNearestNeighbor = 0x0,
335 WICBitmapInterpolationModeLinear = 0x1,
336 WICBitmapInterpolationModeCubic = 0x2,
337 WICBitmapInterpolationModeFant = 0x3,
338 WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = 0x7fffffff
339} WICBitmapInterpolationMode;
340typedef enum WICBitmapLockFlags {
341 WICBitmapLockRead = 0x1,
342 WICBitmapLockWrite = 0x2,
343 WICBITMAPLOCKFLAGS_FORCE_DWORD = 0x7fffffff
344} WICBitmapLockFlags;
345typedef enum WICBitmapPaletteType {
346 WICBitmapPaletteTypeCustom = 0x0,
347 WICBitmapPaletteTypeMedianCut = 0x1,
348 WICBitmapPaletteTypeFixedBW = 0x2,
349 WICBitmapPaletteTypeFixedHalftone8 = 0x3,
350 WICBitmapPaletteTypeFixedHalftone27 = 0x4,
351 WICBitmapPaletteTypeFixedHalftone64 = 0x5,
352 WICBitmapPaletteTypeFixedHalftone125 = 0x6,
353 WICBitmapPaletteTypeFixedHalftone216 = 0x7,
354 WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216,
355 WICBitmapPaletteTypeFixedHalftone252 = 0x8,
356 WICBitmapPaletteTypeFixedHalftone256 = 0x9,
357 WICBitmapPaletteTypeFixedGray4 = 0xa,
358 WICBitmapPaletteTypeFixedGray16 = 0xb,
359 WICBitmapPaletteTypeFixedGray256 = 0xc,
360 WICBITMAPPALETTETYPE_FORCE_DWORD = 0x7fffffff
361} WICBitmapPaletteType;
362typedef enum WICBitmapTransformOptions {
363 WICBitmapTransformRotate0 = 0x0,
364 WICBitmapTransformRotate90 = 0x1,
365 WICBitmapTransformRotate180 = 0x2,
366 WICBitmapTransformRotate270 = 0x3,
367 WICBitmapTransformFlipHorizontal = 0x8,
368 WICBitmapTransformFlipVertical = 0x10,
369 WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = 0x7fffffff
370} WICBitmapTransformOptions;
371typedef enum WICColorContextType {
372 WICColorContextUninitialized = 0x0,
373 WICColorContextProfile = 0x1,
374 WICColorContextExifColorSpace = 0x2
375} WICColorContextType;
376typedef enum WICComponentType {
377 WICDecoder = 0x1,
378 WICEncoder = 0x2,
379 WICPixelFormatConverter = 0x4,
380 WICMetadataReader = 0x8,
381 WICMetadataWriter = 0x10,
382 WICPixelFormat = 0x20,
383 WICCOMPONENTTYPE_FORCE_DWORD = 0x7fffffff
384} WICComponentType;
385typedef enum WICComponentSigning {
386 WICComponentSigned = 0x1,
387 WICComponentUnsigned = 0x2,
388 WICComponentSafe = 0x4,
389 WICComponentDisabled = 0x80000000
390} WICComponentSigning;
391typedef enum WICComponentEnumerateOptions {
392 WICComponentEnumerateDefault = 0x0,
393 WICComponentEnumerateRefresh = 0x1,
394 WICComponentEnumerateBuiltInOnly = 0x20000000,
395 WICComponentEnumerateUnsigned = 0x40000000,
396 WICComponentEnumerateDisabled = 0x80000000
397} WICComponentEnumerateOptions;
398typedef enum WICJpegYCrCbSubsamplingOption {
399 WICJpegYCrCbSubsamplingDefault = 0x0,
400 WICJpegYCrCbSubsampling420 = 0x1,
401 WICJpegYCrCbSubsampling422 = 0x2,
402 WICJpegYCrCbSubsampling444 = 0x3,
403 WICJpegYCrCbSubsampling440 = 0x4
404} WICJpegYCrCbSubsamplingOption;
405typedef enum WICPixelFormatNumericRepresentation {
406 WICPixelFormatNumericRepresentationUnspecified = 0x0,
407 WICPixelFormatNumericRepresentationIndexed = 0x1,
408 WICPixelFormatNumericRepresentationUnsignedInteger = 0x2,
409 WICPixelFormatNumericRepresentationSignedInteger = 0x3,
410 WICPixelFormatNumericRepresentationFixed = 0x4,
411 WICPixelFormatNumericRepresentationFloat = 0x5,
412 WICPIXELFORMATNUMERICREPRESENTATION_FORCE_DWORD = 0x7fffffff
413} WICPixelFormatNumericRepresentation;
414typedef enum WICTiffCompressionOption {
415 WICTiffCompressionDontCare = 0x0,
416 WICTiffCompressionNone = 0x1,
417 WICTiffCompressionCCITT3 = 0x2,
418 WICTiffCompressionCCITT4 = 0x3,
419 WICTiffCompressionLZW = 0x4,
420 WICTiffCompressionRLE = 0x5,
421 WICTiffCompressionZIP = 0x6,
422 WICTiffCompressionLZWHDifferencing = 0x7,
423 WICTIFFCOMPRESSIONOPTION_FORCE_DWORD = 0x7fffffff
424} WICTiffCompressionOption;
425typedef enum WICPngFilterOption {
426 WICPngFilterUnspecified = 0,
427 WICPngFilterNone = 1,
428 WICPngFilterSub = 2,
429 WICPngFilterUp = 3,
430 WICPngFilterAverage = 4,
431 WICPngFilterPaeth = 5,
432 WICPngFilterAdaptive = 6,
433 WICPNFFILTEROPTION_FORCE_DWORD = 0x7fffffff
434} WICPngFilterOption;
435typedef enum WICSectionAccessLevel {
436 WICSectionAccessLevelRead = 0x1,
437 WICSectionAccessLevelReadWrite = 0x3,
438 WICSectionAccessLevel_FORCE_DWORD = 0x7fffffff
439} WICSectionAccessLevel;
440typedef enum WICDdsDimension {
441 WICDdsTexture1D = 0x0,
442 WICDdsTexture2D = 0x1,
443 WICDdsTexture3D = 0x2,
444 WICDdsTextureCube = 0x3,
445 WICDDSTEXTURE_FORCE_DWORD = 0x7fffffff
446} WICDdsDimension;
447typedef enum WICDdsAlphaMode {
448 WICDdsAlphaModeUnknown = 0x0,
449 WICDdsAlphaModeStraight = 0x1,
450 WICDdsAlphaModePremultiplied = 0x2,
451 WICDdsAlphaModeOpaque = 0x3,
452 WICDdsAlphaModeCustom = 0x4,
453 WICDDSALPHAMODE_FORCE_DWORD = 0x7fffffff
454} WICDdsAlphaMode;
455typedef GUID WICPixelFormatGUID;
456typedef REFGUID REFWICPixelFormatGUID;
457DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);
458#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare
459DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);
460DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);
461DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);
462DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);
463DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05);
464DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06);
465DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07);
466DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08);
467DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b);
468DEFINE_GUID(GUID_WICPixelFormat8bppAlpha, 0xe6cd0116,0xeeba,0x4161,0xaa,0x85,0x27,0xdd,0x9f,0xb3,0xa8,0x95);
469DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);
470DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a);
471DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2);
472DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);
473DEFINE_GUID(GUID_WICPixelFormat24bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0d);
474DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);
475DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f);
476DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10);
477DEFINE_GUID(GUID_WICPixelFormat32bppRGB, 0xd98c6b95,0x3efe,0x47d6,0xbb,0x25,0xeb,0x17,0x48,0xab,0x0c,0xf1);
478DEFINE_GUID(GUID_WICPixelFormat32bppRGBA, 0xf5c7ad2d,0x6a8d,0x43dd,0xa7,0xa8,0xa2,0x99,0x35,0x26,0x1a,0xe9);
479DEFINE_GUID(GUID_WICPixelFormat32bppPRGBA, 0x3cc4a650,0xa527,0x4d37,0xa9,0x16,0x31,0x42,0xc7,0xeb,0xed,0xba);
480DEFINE_GUID(GUID_WICPixelFormat32bppGrayFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x11);
481DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15);
482DEFINE_GUID(GUID_WICPixelFormat48bppBGR, 0xe605a384,0xb468,0x46ce,0xbb,0x2e,0x36,0xf1,0x80,0xe6,0x43,0x13);
483DEFINE_GUID(GUID_WICPixelFormat64bppRGB, 0xa1182111,0x186d,0x4d42,0xbc,0x6a,0x9c,0x83,0x03,0xa8,0xdf,0xf9);
484DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16);
485DEFINE_GUID(GUID_WICPixelFormat64bppBGRA, 0x1562ff7c,0xd352,0x46f9,0x97,0x9e,0x42,0x97,0x6b,0x79,0x22,0x46);
486DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17);
487DEFINE_GUID(GUID_WICPixelFormat64bppPBGRA, 0x8c518e8e,0xa4ec,0x468b,0xae,0x70,0xc9,0xa3,0x5a,0x9c,0x55,0x30);
488DEFINE_GUID(GUID_WICPixelFormat16bppGrayFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x13);
489DEFINE_GUID(GUID_WICPixelFormat32bppBGR101010, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x14);
490DEFINE_GUID(GUID_WICPixelFormat48bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x12);
491DEFINE_GUID(GUID_WICPixelFormat48bppBGRFixedPoint, 0x49ca140e,0xcab6,0x493b,0x9d,0xdf,0x60,0x18,0x7c,0x37,0x53,0x2a);
492DEFINE_GUID(GUID_WICPixelFormat96bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x18);
493DEFINE_GUID(GUID_WICPixelFormat96bppRGBFloat, 0xe3fed78f,0xe8db,0x4acf,0x84,0xc1,0xe9,0x7f,0x61,0x36,0xb3,0x27);
494DEFINE_GUID(GUID_WICPixelFormat128bppRGBAFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x19);
495DEFINE_GUID(GUID_WICPixelFormat128bppPRGBAFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1a);
496DEFINE_GUID(GUID_WICPixelFormat128bppRGBFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1b);
497DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c);
498DEFINE_GUID(GUID_WICPixelFormat64bppRGBAFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1d);
499DEFINE_GUID(GUID_WICPixelFormat64bppBGRAFixedPoint, 0x356de33c,0x54d2,0x4a23,0xbb,0x4,0x9b,0x7b,0xf9,0xb1,0xd4,0x2d);
500DEFINE_GUID(GUID_WICPixelFormat64bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x40);
501DEFINE_GUID(GUID_WICPixelFormat128bppRGBAFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1e);
502DEFINE_GUID(GUID_WICPixelFormat128bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x41);
503DEFINE_GUID(GUID_WICPixelFormat64bppRGBAHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3a);
504DEFINE_GUID(GUID_WICPixelFormat64bppPRGBAHalf, 0x58ad26c2,0xc623,0x4d9d,0xb3,0x20,0x38,0x7e,0x49,0xf8,0xc4,0x42);
505DEFINE_GUID(GUID_WICPixelFormat64bppRGBHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x42);
506DEFINE_GUID(GUID_WICPixelFormat48bppRGBHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3b);
507DEFINE_GUID(GUID_WICPixelFormat32bppRGBE, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3d);
508DEFINE_GUID(GUID_WICPixelFormat16bppGrayHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3e);
509DEFINE_GUID(GUID_WICPixelFormat32bppGrayFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3f);
510DEFINE_GUID(GUID_WICPixelFormat32bppRGBA1010102, 0x25238d72,0xfcf9,0x4522,0xb5,0x14,0x55,0x78,0xe5,0xad,0x55,0xe0);
511DEFINE_GUID(GUID_WICPixelFormat32bppRGBA1010102XR, 0x00de6b9a,0xc101,0x434b,0xb5,0x02,0xd0,0x16,0x5e,0xe1,0x12,0x2c);
512DEFINE_GUID(GUID_WICPixelFormat32bppR10G10B10A2, 0x604e1bb5,0x8a3c,0x4b65,0xb1,0x1c,0xbc,0x0b,0x8d,0xd7,0x5b,0x7f);
513DEFINE_GUID(GUID_WICPixelFormat32bppR10G10B10A2HDR10, 0x9c215c5d,0x1acc,0x4f0e,0xa4,0xbc,0x70,0xfb,0x3a,0xe8,0xfd,0x28);
514DEFINE_GUID(GUID_WICPixelFormat64bppCMYK, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1f);
515DEFINE_GUID(GUID_WICPixelFormat24bpp3Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x20);
516DEFINE_GUID(GUID_WICPixelFormat32bpp4Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x21);
517DEFINE_GUID(GUID_WICPixelFormat40bpp5Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x22);
518DEFINE_GUID(GUID_WICPixelFormat48bpp6Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x23);
519DEFINE_GUID(GUID_WICPixelFormat56bpp7Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x24);
520DEFINE_GUID(GUID_WICPixelFormat64bpp8Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x25);
521DEFINE_GUID(GUID_WICPixelFormat48bpp3Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x26);
522DEFINE_GUID(GUID_WICPixelFormat64bpp4Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x27);
523DEFINE_GUID(GUID_WICPixelFormat80bpp5Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x28);
524DEFINE_GUID(GUID_WICPixelFormat96bpp6Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x29);
525DEFINE_GUID(GUID_WICPixelFormat112bpp7Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2a);
526DEFINE_GUID(GUID_WICPixelFormat128bpp8Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2b);
527DEFINE_GUID(GUID_WICPixelFormat40bppCMYKAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2c);
528DEFINE_GUID(GUID_WICPixelFormat80bppCMYKAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2d);
529DEFINE_GUID(GUID_WICPixelFormat32bpp3ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2e);
530DEFINE_GUID(GUID_WICPixelFormat40bpp4ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2f);
531DEFINE_GUID(GUID_WICPixelFormat48bpp5ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x30);
532DEFINE_GUID(GUID_WICPixelFormat56bpp6ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x31);
533DEFINE_GUID(GUID_WICPixelFormat64bpp7ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x32);
534DEFINE_GUID(GUID_WICPixelFormat72bpp8ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x33);
535DEFINE_GUID(GUID_WICPixelFormat64bpp3ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x34);
536DEFINE_GUID(GUID_WICPixelFormat80bpp4ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x35);
537DEFINE_GUID(GUID_WICPixelFormat96bpp5ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x36);
538DEFINE_GUID(GUID_WICPixelFormat112bpp6ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x37);
539DEFINE_GUID(GUID_WICPixelFormat128bpp7ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x38);
540DEFINE_GUID(GUID_WICPixelFormat144bpp8ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x39);
541DEFINE_GUID(GUID_WICPixelFormat8bppY, 0x91b4db54,0x2df9,0x42f0,0xb4,0x49,0x29,0x09,0xbb,0x3d,0xf8,0x8e);
542DEFINE_GUID(GUID_WICPixelFormat8bppCb, 0x1339f224,0x6bfe,0x4c3e,0x93,0x02,0xe4,0xf3,0xa6,0xd0,0xca,0x2a);
543DEFINE_GUID(GUID_WICPixelFormat8bppCr, 0xb8145053,0x2116,0x49f0,0x88,0x35,0xed,0x84,0x4b,0x20,0x5c,0x51);
544DEFINE_GUID(GUID_WICPixelFormat16bppCbCr, 0xff95ba6e,0x11e0,0x4263,0xbb,0x45,0x01,0x72,0x1f,0x34,0x60,0xa4);
545DEFINE_GUID(GUID_WICPixelFormat16bppYQuantizedDctCoefficients, 0xa355f433,0x48e8,0x4a42,0x84,0xd8,0xe2,0xaa,0x26,0xca,0x80,0xa4);
546DEFINE_GUID(GUID_WICPixelFormat16bppCbQuantizedDctCoefficients, 0xd2c4ff61,0x56a5,0x49c2,0x8b,0x5c,0x4c,0x19,0x25,0x96,0x48,0x37);
547DEFINE_GUID(GUID_WICPixelFormat16bppCrQuantizedDctCoefficients, 0x2fe354f0,0x1680,0x42d8,0x92,0x31,0xe7,0x3c,0x05,0x65,0xbf,0xc1);
548#if 0
549typedef DWORD *D2D1_PIXEL_FORMAT;
550#endif
551typedef struct WICRect {
552 INT X;
553 INT Y;
554 INT Width;
555 INT Height;
556} WICRect;
557typedef struct WICBitmapPattern {
558 ULARGE_INTEGER Position;
559 ULONG Length;
560 BYTE *Pattern;
561 BYTE *Mask;
562 WINBOOL EndOfStream;
563} WICBitmapPattern;
564typedef struct WICImageParameters {
565 D2D1_PIXEL_FORMAT PixelFormat;
566 FLOAT DpiX;
567 FLOAT DpiY;
568 FLOAT Top;
569 FLOAT Left;
570 UINT32 PixelWidth;
571 UINT32 PixelHeight;
572} WICImageParameters;
573typedef struct WICDdsParameters {
574 UINT Width;
575 UINT Height;
576 UINT Depth;
577 UINT MipLevels;
578 UINT ArraySize;
579 DXGI_FORMAT DxgiFormat;
580 WICDdsDimension Dimension;
581 WICDdsAlphaMode AlphaMode;
582} WICDdsParameters;
583typedef struct WICDdsFormatInfo {
584 DXGI_FORMAT DxgiFormat;
585 UINT BytesPerBlock;
586 UINT BlockWidth;
587 UINT BlockHeight;
588} WICDdsFormatInfo;
589typedef UINT32 WICColor;
590#ifndef __ID2D1Device_FWD_DEFINED__
591#define __ID2D1Device_FWD_DEFINED__
592typedef interface ID2D1Device ID2D1Device;
593#ifdef __cplusplus
594interface ID2D1Device;
595#endif /* __cplusplus */
596#endif
597
598#ifndef __ID2D1Image_FWD_DEFINED__
599#define __ID2D1Image_FWD_DEFINED__
600typedef interface ID2D1Image ID2D1Image;
601#ifdef __cplusplus
602interface ID2D1Image;
603#endif /* __cplusplus */
604#endif
605
606#ifndef __IWICPalette_FWD_DEFINED__
607#define __IWICPalette_FWD_DEFINED__
608typedef interface IWICPalette IWICPalette;
609#ifdef __cplusplus
610interface IWICPalette;
611#endif /* __cplusplus */
612#endif
613
614/*****************************************************************************
615 * IWICColorContext interface
616 */
617#ifndef __IWICColorContext_INTERFACE_DEFINED__
618#define __IWICColorContext_INTERFACE_DEFINED__
619
620DEFINE_GUID(IID_IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d);
621#if defined(__cplusplus) && !defined(CINTERFACE)
622MIDL_INTERFACE("3c613a02-34b2-44ea-9a7c-45aea9c6fd6d")
623IWICColorContext : public IUnknown
624{
625 virtual HRESULT STDMETHODCALLTYPE InitializeFromFilename(
626 LPCWSTR wzFilename) = 0;
627
628 virtual HRESULT STDMETHODCALLTYPE InitializeFromMemory(
629 const BYTE *pbBuffer,
630 UINT cbBufferSize) = 0;
631
632 virtual HRESULT STDMETHODCALLTYPE InitializeFromExifColorSpace(
633 UINT value) = 0;
634
635 virtual HRESULT STDMETHODCALLTYPE GetType(
636 WICColorContextType *pType) = 0;
637
638 virtual HRESULT STDMETHODCALLTYPE GetProfileBytes(
639 UINT cbBuffer,
640 BYTE *pbBuffer,
641 UINT *pcbActual) = 0;
642
643 virtual HRESULT STDMETHODCALLTYPE GetExifColorSpace(
644 UINT *pValue) = 0;
645
646};
647#ifdef __CRT_UUID_DECL
648__CRT_UUID_DECL(IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d)
649#endif
650#else
651typedef struct IWICColorContextVtbl {
652 BEGIN_INTERFACE
653
654 /*** IUnknown methods ***/
655 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
656 IWICColorContext *This,
657 REFIID riid,
658 void **ppvObject);
659
660 ULONG (STDMETHODCALLTYPE *AddRef)(
661 IWICColorContext *This);
662
663 ULONG (STDMETHODCALLTYPE *Release)(
664 IWICColorContext *This);
665
666 /*** IWICColorContext methods ***/
667 HRESULT (STDMETHODCALLTYPE *InitializeFromFilename)(
668 IWICColorContext *This,
669 LPCWSTR wzFilename);
670
671 HRESULT (STDMETHODCALLTYPE *InitializeFromMemory)(
672 IWICColorContext *This,
673 const BYTE *pbBuffer,
674 UINT cbBufferSize);
675
676 HRESULT (STDMETHODCALLTYPE *InitializeFromExifColorSpace)(
677 IWICColorContext *This,
678 UINT value);
679
680 HRESULT (STDMETHODCALLTYPE *GetType)(
681 IWICColorContext *This,
682 WICColorContextType *pType);
683
684 HRESULT (STDMETHODCALLTYPE *GetProfileBytes)(
685 IWICColorContext *This,
686 UINT cbBuffer,
687 BYTE *pbBuffer,
688 UINT *pcbActual);
689
690 HRESULT (STDMETHODCALLTYPE *GetExifColorSpace)(
691 IWICColorContext *This,
692 UINT *pValue);
693
694 END_INTERFACE
695} IWICColorContextVtbl;
696
697interface IWICColorContext {
698 CONST_VTBL IWICColorContextVtbl* lpVtbl;
699};
700
701#ifdef COBJMACROS
702#ifndef WIDL_C_INLINE_WRAPPERS
703/*** IUnknown methods ***/
704#define IWICColorContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
705#define IWICColorContext_AddRef(This) (This)->lpVtbl->AddRef(This)
706#define IWICColorContext_Release(This) (This)->lpVtbl->Release(This)
707/*** IWICColorContext methods ***/
708#define IWICColorContext_InitializeFromFilename(This,wzFilename) (This)->lpVtbl->InitializeFromFilename(This,wzFilename)
709#define IWICColorContext_InitializeFromMemory(This,pbBuffer,cbBufferSize) (This)->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize)
710#define IWICColorContext_InitializeFromExifColorSpace(This,value) (This)->lpVtbl->InitializeFromExifColorSpace(This,value)
711#define IWICColorContext_GetType(This,pType) (This)->lpVtbl->GetType(This,pType)
712#define IWICColorContext_GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual) (This)->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual)
713#define IWICColorContext_GetExifColorSpace(This,pValue) (This)->lpVtbl->GetExifColorSpace(This,pValue)
714#else
715/*** IUnknown methods ***/
716static inline HRESULT IWICColorContext_QueryInterface(IWICColorContext* This,REFIID riid,void **ppvObject) {
717 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
718}
719static inline ULONG IWICColorContext_AddRef(IWICColorContext* This) {
720 return This->lpVtbl->AddRef(This);
721}
722static inline ULONG IWICColorContext_Release(IWICColorContext* This) {
723 return This->lpVtbl->Release(This);
724}
725/*** IWICColorContext methods ***/
726static inline HRESULT IWICColorContext_InitializeFromFilename(IWICColorContext* This,LPCWSTR wzFilename) {
727 return This->lpVtbl->InitializeFromFilename(This,wzFilename);
728}
729static inline HRESULT IWICColorContext_InitializeFromMemory(IWICColorContext* This,const BYTE *pbBuffer,UINT cbBufferSize) {
730 return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize);
731}
732static inline HRESULT IWICColorContext_InitializeFromExifColorSpace(IWICColorContext* This,UINT value) {
733 return This->lpVtbl->InitializeFromExifColorSpace(This,value);
734}
735static inline HRESULT IWICColorContext_GetType(IWICColorContext* This,WICColorContextType *pType) {
736 return This->lpVtbl->GetType(This,pType);
737}
738static inline HRESULT IWICColorContext_GetProfileBytes(IWICColorContext* This,UINT cbBuffer,BYTE *pbBuffer,UINT *pcbActual) {
739 return This->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual);
740}
741static inline HRESULT IWICColorContext_GetExifColorSpace(IWICColorContext* This,UINT *pValue) {
742 return This->lpVtbl->GetExifColorSpace(This,pValue);
743}
744#endif
745#endif
746
747#endif
748
749
750#endif /* __IWICColorContext_INTERFACE_DEFINED__ */
751
752/*****************************************************************************
753 * IWICBitmapSource interface
754 */
755#ifndef __IWICBitmapSource_INTERFACE_DEFINED__
756#define __IWICBitmapSource_INTERFACE_DEFINED__
757
758DEFINE_GUID(IID_IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
759#if defined(__cplusplus) && !defined(CINTERFACE)
760MIDL_INTERFACE("00000120-a8f2-4877-ba0a-fd2b6645fb94")
761IWICBitmapSource : public IUnknown
762{
763 virtual HRESULT STDMETHODCALLTYPE GetSize(
764 UINT *puiWidth,
765 UINT *puiHeight) = 0;
766
767 virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
768 WICPixelFormatGUID *pPixelFormat) = 0;
769
770 virtual HRESULT STDMETHODCALLTYPE GetResolution(
771 double *pDpiX,
772 double *pDpiY) = 0;
773
774 virtual HRESULT STDMETHODCALLTYPE CopyPalette(
775 IWICPalette *pIPalette) = 0;
776
777 virtual HRESULT STDMETHODCALLTYPE CopyPixels(
778 const WICRect *prc,
779 UINT cbStride,
780 UINT cbBufferSize,
781 BYTE *pbBuffer) = 0;
782
783};
784#ifdef __CRT_UUID_DECL
785__CRT_UUID_DECL(IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
786#endif
787#else
788typedef struct IWICBitmapSourceVtbl {
789 BEGIN_INTERFACE
790
791 /*** IUnknown methods ***/
792 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
793 IWICBitmapSource *This,
794 REFIID riid,
795 void **ppvObject);
796
797 ULONG (STDMETHODCALLTYPE *AddRef)(
798 IWICBitmapSource *This);
799
800 ULONG (STDMETHODCALLTYPE *Release)(
801 IWICBitmapSource *This);
802
803 /*** IWICBitmapSource methods ***/
804 HRESULT (STDMETHODCALLTYPE *GetSize)(
805 IWICBitmapSource *This,
806 UINT *puiWidth,
807 UINT *puiHeight);
808
809 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
810 IWICBitmapSource *This,
811 WICPixelFormatGUID *pPixelFormat);
812
813 HRESULT (STDMETHODCALLTYPE *GetResolution)(
814 IWICBitmapSource *This,
815 double *pDpiX,
816 double *pDpiY);
817
818 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
819 IWICBitmapSource *This,
820 IWICPalette *pIPalette);
821
822 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
823 IWICBitmapSource *This,
824 const WICRect *prc,
825 UINT cbStride,
826 UINT cbBufferSize,
827 BYTE *pbBuffer);
828
829 END_INTERFACE
830} IWICBitmapSourceVtbl;
831
832interface IWICBitmapSource {
833 CONST_VTBL IWICBitmapSourceVtbl* lpVtbl;
834};
835
836#ifdef COBJMACROS
837#ifndef WIDL_C_INLINE_WRAPPERS
838/*** IUnknown methods ***/
839#define IWICBitmapSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
840#define IWICBitmapSource_AddRef(This) (This)->lpVtbl->AddRef(This)
841#define IWICBitmapSource_Release(This) (This)->lpVtbl->Release(This)
842/*** IWICBitmapSource methods ***/
843#define IWICBitmapSource_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
844#define IWICBitmapSource_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
845#define IWICBitmapSource_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
846#define IWICBitmapSource_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
847#define IWICBitmapSource_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
848#else
849/*** IUnknown methods ***/
850static inline HRESULT IWICBitmapSource_QueryInterface(IWICBitmapSource* This,REFIID riid,void **ppvObject) {
851 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
852}
853static inline ULONG IWICBitmapSource_AddRef(IWICBitmapSource* This) {
854 return This->lpVtbl->AddRef(This);
855}
856static inline ULONG IWICBitmapSource_Release(IWICBitmapSource* This) {
857 return This->lpVtbl->Release(This);
858}
859/*** IWICBitmapSource methods ***/
860static inline HRESULT IWICBitmapSource_GetSize(IWICBitmapSource* This,UINT *puiWidth,UINT *puiHeight) {
861 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
862}
863static inline HRESULT IWICBitmapSource_GetPixelFormat(IWICBitmapSource* This,WICPixelFormatGUID *pPixelFormat) {
864 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
865}
866static inline HRESULT IWICBitmapSource_GetResolution(IWICBitmapSource* This,double *pDpiX,double *pDpiY) {
867 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
868}
869static inline HRESULT IWICBitmapSource_CopyPalette(IWICBitmapSource* This,IWICPalette *pIPalette) {
870 return This->lpVtbl->CopyPalette(This,pIPalette);
871}
872static inline HRESULT IWICBitmapSource_CopyPixels(IWICBitmapSource* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
873 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
874}
875#endif
876#endif
877
878#endif
879
880
881#endif /* __IWICBitmapSource_INTERFACE_DEFINED__ */
882
883/*****************************************************************************
884 * IWICBitmapLock interface
885 */
886#ifndef __IWICBitmapLock_INTERFACE_DEFINED__
887#define __IWICBitmapLock_INTERFACE_DEFINED__
888
889DEFINE_GUID(IID_IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
890#if defined(__cplusplus) && !defined(CINTERFACE)
891MIDL_INTERFACE("00000123-a8f2-4877-ba0a-fd2b6645fb94")
892IWICBitmapLock : public IUnknown
893{
894 virtual HRESULT STDMETHODCALLTYPE GetSize(
895 UINT *pWidth,
896 UINT *pHeight) = 0;
897
898 virtual HRESULT STDMETHODCALLTYPE GetStride(
899 UINT *pcbStride) = 0;
900
901 virtual HRESULT STDMETHODCALLTYPE GetDataPointer(
902 UINT *pcbBufferSize,
903 BYTE **ppbData) = 0;
904
905 virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
906 WICPixelFormatGUID *pPixelFormat) = 0;
907
908};
909#ifdef __CRT_UUID_DECL
910__CRT_UUID_DECL(IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
911#endif
912#else
913typedef struct IWICBitmapLockVtbl {
914 BEGIN_INTERFACE
915
916 /*** IUnknown methods ***/
917 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
918 IWICBitmapLock *This,
919 REFIID riid,
920 void **ppvObject);
921
922 ULONG (STDMETHODCALLTYPE *AddRef)(
923 IWICBitmapLock *This);
924
925 ULONG (STDMETHODCALLTYPE *Release)(
926 IWICBitmapLock *This);
927
928 /*** IWICBitmapLock methods ***/
929 HRESULT (STDMETHODCALLTYPE *GetSize)(
930 IWICBitmapLock *This,
931 UINT *pWidth,
932 UINT *pHeight);
933
934 HRESULT (STDMETHODCALLTYPE *GetStride)(
935 IWICBitmapLock *This,
936 UINT *pcbStride);
937
938 HRESULT (STDMETHODCALLTYPE *GetDataPointer)(
939 IWICBitmapLock *This,
940 UINT *pcbBufferSize,
941 BYTE **ppbData);
942
943 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
944 IWICBitmapLock *This,
945 WICPixelFormatGUID *pPixelFormat);
946
947 END_INTERFACE
948} IWICBitmapLockVtbl;
949
950interface IWICBitmapLock {
951 CONST_VTBL IWICBitmapLockVtbl* lpVtbl;
952};
953
954#ifdef COBJMACROS
955#ifndef WIDL_C_INLINE_WRAPPERS
956/*** IUnknown methods ***/
957#define IWICBitmapLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
958#define IWICBitmapLock_AddRef(This) (This)->lpVtbl->AddRef(This)
959#define IWICBitmapLock_Release(This) (This)->lpVtbl->Release(This)
960/*** IWICBitmapLock methods ***/
961#define IWICBitmapLock_GetSize(This,pWidth,pHeight) (This)->lpVtbl->GetSize(This,pWidth,pHeight)
962#define IWICBitmapLock_GetStride(This,pcbStride) (This)->lpVtbl->GetStride(This,pcbStride)
963#define IWICBitmapLock_GetDataPointer(This,pcbBufferSize,ppbData) (This)->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData)
964#define IWICBitmapLock_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
965#else
966/*** IUnknown methods ***/
967static inline HRESULT IWICBitmapLock_QueryInterface(IWICBitmapLock* This,REFIID riid,void **ppvObject) {
968 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
969}
970static inline ULONG IWICBitmapLock_AddRef(IWICBitmapLock* This) {
971 return This->lpVtbl->AddRef(This);
972}
973static inline ULONG IWICBitmapLock_Release(IWICBitmapLock* This) {
974 return This->lpVtbl->Release(This);
975}
976/*** IWICBitmapLock methods ***/
977static inline HRESULT IWICBitmapLock_GetSize(IWICBitmapLock* This,UINT *pWidth,UINT *pHeight) {
978 return This->lpVtbl->GetSize(This,pWidth,pHeight);
979}
980static inline HRESULT IWICBitmapLock_GetStride(IWICBitmapLock* This,UINT *pcbStride) {
981 return This->lpVtbl->GetStride(This,pcbStride);
982}
983static inline HRESULT IWICBitmapLock_GetDataPointer(IWICBitmapLock* This,UINT *pcbBufferSize,BYTE **ppbData) {
984 return This->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData);
985}
986static inline HRESULT IWICBitmapLock_GetPixelFormat(IWICBitmapLock* This,WICPixelFormatGUID *pPixelFormat) {
987 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
988}
989#endif
990#endif
991
992#endif
993
994
995#endif /* __IWICBitmapLock_INTERFACE_DEFINED__ */
996
997/*****************************************************************************
998 * IWICBitmapFlipRotator interface
999 */
1000#ifndef __IWICBitmapFlipRotator_INTERFACE_DEFINED__
1001#define __IWICBitmapFlipRotator_INTERFACE_DEFINED__
1002
1003DEFINE_GUID(IID_IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82);
1004#if defined(__cplusplus) && !defined(CINTERFACE)
1005MIDL_INTERFACE("5009834f-2d6a-41ce-9e1b-17c5aff7a782")
1006IWICBitmapFlipRotator : public IWICBitmapSource
1007{
1008 virtual HRESULT STDMETHODCALLTYPE Initialize(
1009 IWICBitmapSource *pISource,
1010 WICBitmapTransformOptions options) = 0;
1011
1012};
1013#ifdef __CRT_UUID_DECL
1014__CRT_UUID_DECL(IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82)
1015#endif
1016#else
1017typedef struct IWICBitmapFlipRotatorVtbl {
1018 BEGIN_INTERFACE
1019
1020 /*** IUnknown methods ***/
1021 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1022 IWICBitmapFlipRotator *This,
1023 REFIID riid,
1024 void **ppvObject);
1025
1026 ULONG (STDMETHODCALLTYPE *AddRef)(
1027 IWICBitmapFlipRotator *This);
1028
1029 ULONG (STDMETHODCALLTYPE *Release)(
1030 IWICBitmapFlipRotator *This);
1031
1032 /*** IWICBitmapSource methods ***/
1033 HRESULT (STDMETHODCALLTYPE *GetSize)(
1034 IWICBitmapFlipRotator *This,
1035 UINT *puiWidth,
1036 UINT *puiHeight);
1037
1038 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
1039 IWICBitmapFlipRotator *This,
1040 WICPixelFormatGUID *pPixelFormat);
1041
1042 HRESULT (STDMETHODCALLTYPE *GetResolution)(
1043 IWICBitmapFlipRotator *This,
1044 double *pDpiX,
1045 double *pDpiY);
1046
1047 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
1048 IWICBitmapFlipRotator *This,
1049 IWICPalette *pIPalette);
1050
1051 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
1052 IWICBitmapFlipRotator *This,
1053 const WICRect *prc,
1054 UINT cbStride,
1055 UINT cbBufferSize,
1056 BYTE *pbBuffer);
1057
1058 /*** IWICBitmapFlipRotator methods ***/
1059 HRESULT (STDMETHODCALLTYPE *Initialize)(
1060 IWICBitmapFlipRotator *This,
1061 IWICBitmapSource *pISource,
1062 WICBitmapTransformOptions options);
1063
1064 END_INTERFACE
1065} IWICBitmapFlipRotatorVtbl;
1066
1067interface IWICBitmapFlipRotator {
1068 CONST_VTBL IWICBitmapFlipRotatorVtbl* lpVtbl;
1069};
1070
1071#ifdef COBJMACROS
1072#ifndef WIDL_C_INLINE_WRAPPERS
1073/*** IUnknown methods ***/
1074#define IWICBitmapFlipRotator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1075#define IWICBitmapFlipRotator_AddRef(This) (This)->lpVtbl->AddRef(This)
1076#define IWICBitmapFlipRotator_Release(This) (This)->lpVtbl->Release(This)
1077/*** IWICBitmapSource methods ***/
1078#define IWICBitmapFlipRotator_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
1079#define IWICBitmapFlipRotator_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
1080#define IWICBitmapFlipRotator_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
1081#define IWICBitmapFlipRotator_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
1082#define IWICBitmapFlipRotator_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
1083/*** IWICBitmapFlipRotator methods ***/
1084#define IWICBitmapFlipRotator_Initialize(This,pISource,options) (This)->lpVtbl->Initialize(This,pISource,options)
1085#else
1086/*** IUnknown methods ***/
1087static inline HRESULT IWICBitmapFlipRotator_QueryInterface(IWICBitmapFlipRotator* This,REFIID riid,void **ppvObject) {
1088 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1089}
1090static inline ULONG IWICBitmapFlipRotator_AddRef(IWICBitmapFlipRotator* This) {
1091 return This->lpVtbl->AddRef(This);
1092}
1093static inline ULONG IWICBitmapFlipRotator_Release(IWICBitmapFlipRotator* This) {
1094 return This->lpVtbl->Release(This);
1095}
1096/*** IWICBitmapSource methods ***/
1097static inline HRESULT IWICBitmapFlipRotator_GetSize(IWICBitmapFlipRotator* This,UINT *puiWidth,UINT *puiHeight) {
1098 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
1099}
1100static inline HRESULT IWICBitmapFlipRotator_GetPixelFormat(IWICBitmapFlipRotator* This,WICPixelFormatGUID *pPixelFormat) {
1101 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
1102}
1103static inline HRESULT IWICBitmapFlipRotator_GetResolution(IWICBitmapFlipRotator* This,double *pDpiX,double *pDpiY) {
1104 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
1105}
1106static inline HRESULT IWICBitmapFlipRotator_CopyPalette(IWICBitmapFlipRotator* This,IWICPalette *pIPalette) {
1107 return This->lpVtbl->CopyPalette(This,pIPalette);
1108}
1109static inline HRESULT IWICBitmapFlipRotator_CopyPixels(IWICBitmapFlipRotator* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
1110 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
1111}
1112/*** IWICBitmapFlipRotator methods ***/
1113static inline HRESULT IWICBitmapFlipRotator_Initialize(IWICBitmapFlipRotator* This,IWICBitmapSource *pISource,WICBitmapTransformOptions options) {
1114 return This->lpVtbl->Initialize(This,pISource,options);
1115}
1116#endif
1117#endif
1118
1119#endif
1120
1121
1122#endif /* __IWICBitmapFlipRotator_INTERFACE_DEFINED__ */
1123
1124/*****************************************************************************
1125 * IWICBitmap interface
1126 */
1127#ifndef __IWICBitmap_INTERFACE_DEFINED__
1128#define __IWICBitmap_INTERFACE_DEFINED__
1129
1130DEFINE_GUID(IID_IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
1131#if defined(__cplusplus) && !defined(CINTERFACE)
1132MIDL_INTERFACE("00000121-a8f2-4877-ba0a-fd2b6645fb94")
1133IWICBitmap : public IWICBitmapSource
1134{
1135 virtual HRESULT STDMETHODCALLTYPE Lock(
1136 const WICRect *prcLock,
1137 DWORD flags,
1138 IWICBitmapLock **ppILock) = 0;
1139
1140 virtual HRESULT STDMETHODCALLTYPE SetPalette(
1141 IWICPalette *pIPalette) = 0;
1142
1143 virtual HRESULT STDMETHODCALLTYPE SetResolution(
1144 double dpiX,
1145 double dpiY) = 0;
1146
1147};
1148#ifdef __CRT_UUID_DECL
1149__CRT_UUID_DECL(IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
1150#endif
1151#else
1152typedef struct IWICBitmapVtbl {
1153 BEGIN_INTERFACE
1154
1155 /*** IUnknown methods ***/
1156 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1157 IWICBitmap *This,
1158 REFIID riid,
1159 void **ppvObject);
1160
1161 ULONG (STDMETHODCALLTYPE *AddRef)(
1162 IWICBitmap *This);
1163
1164 ULONG (STDMETHODCALLTYPE *Release)(
1165 IWICBitmap *This);
1166
1167 /*** IWICBitmapSource methods ***/
1168 HRESULT (STDMETHODCALLTYPE *GetSize)(
1169 IWICBitmap *This,
1170 UINT *puiWidth,
1171 UINT *puiHeight);
1172
1173 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
1174 IWICBitmap *This,
1175 WICPixelFormatGUID *pPixelFormat);
1176
1177 HRESULT (STDMETHODCALLTYPE *GetResolution)(
1178 IWICBitmap *This,
1179 double *pDpiX,
1180 double *pDpiY);
1181
1182 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
1183 IWICBitmap *This,
1184 IWICPalette *pIPalette);
1185
1186 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
1187 IWICBitmap *This,
1188 const WICRect *prc,
1189 UINT cbStride,
1190 UINT cbBufferSize,
1191 BYTE *pbBuffer);
1192
1193 /*** IWICBitmap methods ***/
1194 HRESULT (STDMETHODCALLTYPE *Lock)(
1195 IWICBitmap *This,
1196 const WICRect *prcLock,
1197 DWORD flags,
1198 IWICBitmapLock **ppILock);
1199
1200 HRESULT (STDMETHODCALLTYPE *SetPalette)(
1201 IWICBitmap *This,
1202 IWICPalette *pIPalette);
1203
1204 HRESULT (STDMETHODCALLTYPE *SetResolution)(
1205 IWICBitmap *This,
1206 double dpiX,
1207 double dpiY);
1208
1209 END_INTERFACE
1210} IWICBitmapVtbl;
1211
1212interface IWICBitmap {
1213 CONST_VTBL IWICBitmapVtbl* lpVtbl;
1214};
1215
1216#ifdef COBJMACROS
1217#ifndef WIDL_C_INLINE_WRAPPERS
1218/*** IUnknown methods ***/
1219#define IWICBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1220#define IWICBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
1221#define IWICBitmap_Release(This) (This)->lpVtbl->Release(This)
1222/*** IWICBitmapSource methods ***/
1223#define IWICBitmap_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
1224#define IWICBitmap_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
1225#define IWICBitmap_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
1226#define IWICBitmap_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
1227#define IWICBitmap_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
1228/*** IWICBitmap methods ***/
1229#define IWICBitmap_Lock(This,prcLock,flags,ppILock) (This)->lpVtbl->Lock(This,prcLock,flags,ppILock)
1230#define IWICBitmap_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette)
1231#define IWICBitmap_SetResolution(This,dpiX,dpiY) (This)->lpVtbl->SetResolution(This,dpiX,dpiY)
1232#else
1233/*** IUnknown methods ***/
1234static inline HRESULT IWICBitmap_QueryInterface(IWICBitmap* This,REFIID riid,void **ppvObject) {
1235 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1236}
1237static inline ULONG IWICBitmap_AddRef(IWICBitmap* This) {
1238 return This->lpVtbl->AddRef(This);
1239}
1240static inline ULONG IWICBitmap_Release(IWICBitmap* This) {
1241 return This->lpVtbl->Release(This);
1242}
1243/*** IWICBitmapSource methods ***/
1244static inline HRESULT IWICBitmap_GetSize(IWICBitmap* This,UINT *puiWidth,UINT *puiHeight) {
1245 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
1246}
1247static inline HRESULT IWICBitmap_GetPixelFormat(IWICBitmap* This,WICPixelFormatGUID *pPixelFormat) {
1248 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
1249}
1250static inline HRESULT IWICBitmap_GetResolution(IWICBitmap* This,double *pDpiX,double *pDpiY) {
1251 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
1252}
1253static inline HRESULT IWICBitmap_CopyPalette(IWICBitmap* This,IWICPalette *pIPalette) {
1254 return This->lpVtbl->CopyPalette(This,pIPalette);
1255}
1256static inline HRESULT IWICBitmap_CopyPixels(IWICBitmap* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
1257 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
1258}
1259/*** IWICBitmap methods ***/
1260static inline HRESULT IWICBitmap_Lock(IWICBitmap* This,const WICRect *prcLock,DWORD flags,IWICBitmapLock **ppILock) {
1261 return This->lpVtbl->Lock(This,prcLock,flags,ppILock);
1262}
1263static inline HRESULT IWICBitmap_SetPalette(IWICBitmap* This,IWICPalette *pIPalette) {
1264 return This->lpVtbl->SetPalette(This,pIPalette);
1265}
1266static inline HRESULT IWICBitmap_SetResolution(IWICBitmap* This,double dpiX,double dpiY) {
1267 return This->lpVtbl->SetResolution(This,dpiX,dpiY);
1268}
1269#endif
1270#endif
1271
1272#endif
1273
1274
1275#endif /* __IWICBitmap_INTERFACE_DEFINED__ */
1276
1277/*****************************************************************************
1278 * IWICPalette interface
1279 */
1280#ifndef __IWICPalette_INTERFACE_DEFINED__
1281#define __IWICPalette_INTERFACE_DEFINED__
1282
1283DEFINE_GUID(IID_IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
1284#if defined(__cplusplus) && !defined(CINTERFACE)
1285MIDL_INTERFACE("00000040-a8f2-4877-ba0a-fd2b6645fb94")
1286IWICPalette : public IUnknown
1287{
1288 virtual HRESULT STDMETHODCALLTYPE InitializePredefined(
1289 WICBitmapPaletteType ePaletteType,
1290 WINBOOL fAddTransparentColor) = 0;
1291
1292 virtual HRESULT STDMETHODCALLTYPE InitializeCustom(
1293 WICColor *pColors,
1294 UINT colorCount) = 0;
1295
1296 virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap(
1297 IWICBitmapSource *pISurface,
1298 UINT colorCount,
1299 WINBOOL fAddTransparentColor) = 0;
1300
1301 virtual HRESULT STDMETHODCALLTYPE InitializeFromPalette(
1302 IWICPalette *pIPalette) = 0;
1303
1304 virtual HRESULT STDMETHODCALLTYPE GetType(
1305 WICBitmapPaletteType *pePaletteType) = 0;
1306
1307 virtual HRESULT STDMETHODCALLTYPE GetColorCount(
1308 UINT *pcCount) = 0;
1309
1310 virtual HRESULT STDMETHODCALLTYPE GetColors(
1311 UINT colorCount,
1312 WICColor *pColors,
1313 UINT *pcActualColors) = 0;
1314
1315 virtual HRESULT STDMETHODCALLTYPE IsBlackWhite(
1316 WINBOOL *pfIsBlackWhite) = 0;
1317
1318 virtual HRESULT STDMETHODCALLTYPE IsGrayscale(
1319 WINBOOL *pfIsGrayscale) = 0;
1320
1321 virtual HRESULT STDMETHODCALLTYPE HasAlpha(
1322 WINBOOL *pfHasAlpha) = 0;
1323
1324};
1325#ifdef __CRT_UUID_DECL
1326__CRT_UUID_DECL(IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
1327#endif
1328#else
1329typedef struct IWICPaletteVtbl {
1330 BEGIN_INTERFACE
1331
1332 /*** IUnknown methods ***/
1333 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1334 IWICPalette *This,
1335 REFIID riid,
1336 void **ppvObject);
1337
1338 ULONG (STDMETHODCALLTYPE *AddRef)(
1339 IWICPalette *This);
1340
1341 ULONG (STDMETHODCALLTYPE *Release)(
1342 IWICPalette *This);
1343
1344 /*** IWICPalette methods ***/
1345 HRESULT (STDMETHODCALLTYPE *InitializePredefined)(
1346 IWICPalette *This,
1347 WICBitmapPaletteType ePaletteType,
1348 WINBOOL fAddTransparentColor);
1349
1350 HRESULT (STDMETHODCALLTYPE *InitializeCustom)(
1351 IWICPalette *This,
1352 WICColor *pColors,
1353 UINT colorCount);
1354
1355 HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
1356 IWICPalette *This,
1357 IWICBitmapSource *pISurface,
1358 UINT colorCount,
1359 WINBOOL fAddTransparentColor);
1360
1361 HRESULT (STDMETHODCALLTYPE *InitializeFromPalette)(
1362 IWICPalette *This,
1363 IWICPalette *pIPalette);
1364
1365 HRESULT (STDMETHODCALLTYPE *GetType)(
1366 IWICPalette *This,
1367 WICBitmapPaletteType *pePaletteType);
1368
1369 HRESULT (STDMETHODCALLTYPE *GetColorCount)(
1370 IWICPalette *This,
1371 UINT *pcCount);
1372
1373 HRESULT (STDMETHODCALLTYPE *GetColors)(
1374 IWICPalette *This,
1375 UINT colorCount,
1376 WICColor *pColors,
1377 UINT *pcActualColors);
1378
1379 HRESULT (STDMETHODCALLTYPE *IsBlackWhite)(
1380 IWICPalette *This,
1381 WINBOOL *pfIsBlackWhite);
1382
1383 HRESULT (STDMETHODCALLTYPE *IsGrayscale)(
1384 IWICPalette *This,
1385 WINBOOL *pfIsGrayscale);
1386
1387 HRESULT (STDMETHODCALLTYPE *HasAlpha)(
1388 IWICPalette *This,
1389 WINBOOL *pfHasAlpha);
1390
1391 END_INTERFACE
1392} IWICPaletteVtbl;
1393
1394interface IWICPalette {
1395 CONST_VTBL IWICPaletteVtbl* lpVtbl;
1396};
1397
1398#ifdef COBJMACROS
1399#ifndef WIDL_C_INLINE_WRAPPERS
1400/*** IUnknown methods ***/
1401#define IWICPalette_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1402#define IWICPalette_AddRef(This) (This)->lpVtbl->AddRef(This)
1403#define IWICPalette_Release(This) (This)->lpVtbl->Release(This)
1404/*** IWICPalette methods ***/
1405#define IWICPalette_InitializePredefined(This,ePaletteType,fAddTransparentColor) (This)->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor)
1406#define IWICPalette_InitializeCustom(This,pColors,colorCount) (This)->lpVtbl->InitializeCustom(This,pColors,colorCount)
1407#define IWICPalette_InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor) (This)->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor)
1408#define IWICPalette_InitializeFromPalette(This,pIPalette) (This)->lpVtbl->InitializeFromPalette(This,pIPalette)
1409#define IWICPalette_GetType(This,pePaletteType) (This)->lpVtbl->GetType(This,pePaletteType)
1410#define IWICPalette_GetColorCount(This,pcCount) (This)->lpVtbl->GetColorCount(This,pcCount)
1411#define IWICPalette_GetColors(This,colorCount,pColors,pcActualColors) (This)->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors)
1412#define IWICPalette_IsBlackWhite(This,pfIsBlackWhite) (This)->lpVtbl->IsBlackWhite(This,pfIsBlackWhite)
1413#define IWICPalette_IsGrayscale(This,pfIsGrayscale) (This)->lpVtbl->IsGrayscale(This,pfIsGrayscale)
1414#define IWICPalette_HasAlpha(This,pfHasAlpha) (This)->lpVtbl->HasAlpha(This,pfHasAlpha)
1415#else
1416/*** IUnknown methods ***/
1417static inline HRESULT IWICPalette_QueryInterface(IWICPalette* This,REFIID riid,void **ppvObject) {
1418 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1419}
1420static inline ULONG IWICPalette_AddRef(IWICPalette* This) {
1421 return This->lpVtbl->AddRef(This);
1422}
1423static inline ULONG IWICPalette_Release(IWICPalette* This) {
1424 return This->lpVtbl->Release(This);
1425}
1426/*** IWICPalette methods ***/
1427static inline HRESULT IWICPalette_InitializePredefined(IWICPalette* This,WICBitmapPaletteType ePaletteType,WINBOOL fAddTransparentColor) {
1428 return This->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor);
1429}
1430static inline HRESULT IWICPalette_InitializeCustom(IWICPalette* This,WICColor *pColors,UINT colorCount) {
1431 return This->lpVtbl->InitializeCustom(This,pColors,colorCount);
1432}
1433static inline HRESULT IWICPalette_InitializeFromBitmap(IWICPalette* This,IWICBitmapSource *pISurface,UINT colorCount,WINBOOL fAddTransparentColor) {
1434 return This->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor);
1435}
1436static inline HRESULT IWICPalette_InitializeFromPalette(IWICPalette* This,IWICPalette *pIPalette) {
1437 return This->lpVtbl->InitializeFromPalette(This,pIPalette);
1438}
1439static inline HRESULT IWICPalette_GetType(IWICPalette* This,WICBitmapPaletteType *pePaletteType) {
1440 return This->lpVtbl->GetType(This,pePaletteType);
1441}
1442static inline HRESULT IWICPalette_GetColorCount(IWICPalette* This,UINT *pcCount) {
1443 return This->lpVtbl->GetColorCount(This,pcCount);
1444}
1445static inline HRESULT IWICPalette_GetColors(IWICPalette* This,UINT colorCount,WICColor *pColors,UINT *pcActualColors) {
1446 return This->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors);
1447}
1448static inline HRESULT IWICPalette_IsBlackWhite(IWICPalette* This,WINBOOL *pfIsBlackWhite) {
1449 return This->lpVtbl->IsBlackWhite(This,pfIsBlackWhite);
1450}
1451static inline HRESULT IWICPalette_IsGrayscale(IWICPalette* This,WINBOOL *pfIsGrayscale) {
1452 return This->lpVtbl->IsGrayscale(This,pfIsGrayscale);
1453}
1454static inline HRESULT IWICPalette_HasAlpha(IWICPalette* This,WINBOOL *pfHasAlpha) {
1455 return This->lpVtbl->HasAlpha(This,pfHasAlpha);
1456}
1457#endif
1458#endif
1459
1460#endif
1461
1462
1463#endif /* __IWICPalette_INTERFACE_DEFINED__ */
1464
1465/*****************************************************************************
1466 * IWICComponentInfo interface
1467 */
1468#ifndef __IWICComponentInfo_INTERFACE_DEFINED__
1469#define __IWICComponentInfo_INTERFACE_DEFINED__
1470
1471DEFINE_GUID(IID_IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34);
1472#if defined(__cplusplus) && !defined(CINTERFACE)
1473MIDL_INTERFACE("23bc3f0a-698b-4357-886b-f24d50671334")
1474IWICComponentInfo : public IUnknown
1475{
1476 virtual HRESULT STDMETHODCALLTYPE GetComponentType(
1477 WICComponentType *pType) = 0;
1478
1479 virtual HRESULT STDMETHODCALLTYPE GetCLSID(
1480 CLSID *pclsid) = 0;
1481
1482 virtual HRESULT STDMETHODCALLTYPE GetSigningStatus(
1483 DWORD *pStatus) = 0;
1484
1485 virtual HRESULT STDMETHODCALLTYPE GetAuthor(
1486 UINT cchAuthor,
1487 WCHAR *wzAuthor,
1488 UINT *pcchActual) = 0;
1489
1490 virtual HRESULT STDMETHODCALLTYPE GetVendorGUID(
1491 GUID *pguidVendor) = 0;
1492
1493 virtual HRESULT STDMETHODCALLTYPE GetVersion(
1494 UINT cchVersion,
1495 WCHAR *wzVersion,
1496 UINT *pcchActual) = 0;
1497
1498 virtual HRESULT STDMETHODCALLTYPE GetSpecVersion(
1499 UINT cchSpecVersion,
1500 WCHAR *wzSpecVersion,
1501 UINT *pcchActual) = 0;
1502
1503 virtual HRESULT STDMETHODCALLTYPE GetFriendlyName(
1504 UINT cchFriendlyName,
1505 WCHAR *wzFriendlyName,
1506 UINT *pcchActual) = 0;
1507
1508};
1509#ifdef __CRT_UUID_DECL
1510__CRT_UUID_DECL(IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34)
1511#endif
1512#else
1513typedef struct IWICComponentInfoVtbl {
1514 BEGIN_INTERFACE
1515
1516 /*** IUnknown methods ***/
1517 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1518 IWICComponentInfo *This,
1519 REFIID riid,
1520 void **ppvObject);
1521
1522 ULONG (STDMETHODCALLTYPE *AddRef)(
1523 IWICComponentInfo *This);
1524
1525 ULONG (STDMETHODCALLTYPE *Release)(
1526 IWICComponentInfo *This);
1527
1528 /*** IWICComponentInfo methods ***/
1529 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
1530 IWICComponentInfo *This,
1531 WICComponentType *pType);
1532
1533 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
1534 IWICComponentInfo *This,
1535 CLSID *pclsid);
1536
1537 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
1538 IWICComponentInfo *This,
1539 DWORD *pStatus);
1540
1541 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
1542 IWICComponentInfo *This,
1543 UINT cchAuthor,
1544 WCHAR *wzAuthor,
1545 UINT *pcchActual);
1546
1547 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
1548 IWICComponentInfo *This,
1549 GUID *pguidVendor);
1550
1551 HRESULT (STDMETHODCALLTYPE *GetVersion)(
1552 IWICComponentInfo *This,
1553 UINT cchVersion,
1554 WCHAR *wzVersion,
1555 UINT *pcchActual);
1556
1557 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
1558 IWICComponentInfo *This,
1559 UINT cchSpecVersion,
1560 WCHAR *wzSpecVersion,
1561 UINT *pcchActual);
1562
1563 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
1564 IWICComponentInfo *This,
1565 UINT cchFriendlyName,
1566 WCHAR *wzFriendlyName,
1567 UINT *pcchActual);
1568
1569 END_INTERFACE
1570} IWICComponentInfoVtbl;
1571
1572interface IWICComponentInfo {
1573 CONST_VTBL IWICComponentInfoVtbl* lpVtbl;
1574};
1575
1576#ifdef COBJMACROS
1577#ifndef WIDL_C_INLINE_WRAPPERS
1578/*** IUnknown methods ***/
1579#define IWICComponentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1580#define IWICComponentInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1581#define IWICComponentInfo_Release(This) (This)->lpVtbl->Release(This)
1582/*** IWICComponentInfo methods ***/
1583#define IWICComponentInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
1584#define IWICComponentInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
1585#define IWICComponentInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
1586#define IWICComponentInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
1587#define IWICComponentInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
1588#define IWICComponentInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
1589#define IWICComponentInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
1590#define IWICComponentInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
1591#else
1592/*** IUnknown methods ***/
1593static inline HRESULT IWICComponentInfo_QueryInterface(IWICComponentInfo* This,REFIID riid,void **ppvObject) {
1594 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1595}
1596static inline ULONG IWICComponentInfo_AddRef(IWICComponentInfo* This) {
1597 return This->lpVtbl->AddRef(This);
1598}
1599static inline ULONG IWICComponentInfo_Release(IWICComponentInfo* This) {
1600 return This->lpVtbl->Release(This);
1601}
1602/*** IWICComponentInfo methods ***/
1603static inline HRESULT IWICComponentInfo_GetComponentType(IWICComponentInfo* This,WICComponentType *pType) {
1604 return This->lpVtbl->GetComponentType(This,pType);
1605}
1606static inline HRESULT IWICComponentInfo_GetCLSID(IWICComponentInfo* This,CLSID *pclsid) {
1607 return This->lpVtbl->GetCLSID(This,pclsid);
1608}
1609static inline HRESULT IWICComponentInfo_GetSigningStatus(IWICComponentInfo* This,DWORD *pStatus) {
1610 return This->lpVtbl->GetSigningStatus(This,pStatus);
1611}
1612static inline HRESULT IWICComponentInfo_GetAuthor(IWICComponentInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
1613 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
1614}
1615static inline HRESULT IWICComponentInfo_GetVendorGUID(IWICComponentInfo* This,GUID *pguidVendor) {
1616 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
1617}
1618static inline HRESULT IWICComponentInfo_GetVersion(IWICComponentInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
1619 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
1620}
1621static inline HRESULT IWICComponentInfo_GetSpecVersion(IWICComponentInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
1622 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
1623}
1624static inline HRESULT IWICComponentInfo_GetFriendlyName(IWICComponentInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
1625 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
1626}
1627#endif
1628#endif
1629
1630#endif
1631
1632
1633#endif /* __IWICComponentInfo_INTERFACE_DEFINED__ */
1634
1635/*****************************************************************************
1636 * IWICMetadataQueryReader interface
1637 */
1638#ifndef __IWICMetadataQueryReader_INTERFACE_DEFINED__
1639#define __IWICMetadataQueryReader_INTERFACE_DEFINED__
1640
1641DEFINE_GUID(IID_IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf);
1642#if defined(__cplusplus) && !defined(CINTERFACE)
1643MIDL_INTERFACE("30989668-e1c9-4597-b395-458eedb808df")
1644IWICMetadataQueryReader : public IUnknown
1645{
1646 virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
1647 GUID *pguidContainerFormat) = 0;
1648
1649 virtual HRESULT STDMETHODCALLTYPE GetLocation(
1650 UINT cchMaxLength,
1651 WCHAR *wzNamespace,
1652 UINT *pcchActualLength) = 0;
1653
1654 virtual HRESULT STDMETHODCALLTYPE GetMetadataByName(
1655 LPCWSTR wzName,
1656 PROPVARIANT *pvarValue) = 0;
1657
1658 virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
1659 IEnumString **ppIEnumString) = 0;
1660
1661};
1662#ifdef __CRT_UUID_DECL
1663__CRT_UUID_DECL(IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf)
1664#endif
1665#else
1666typedef struct IWICMetadataQueryReaderVtbl {
1667 BEGIN_INTERFACE
1668
1669 /*** IUnknown methods ***/
1670 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1671 IWICMetadataQueryReader *This,
1672 REFIID riid,
1673 void **ppvObject);
1674
1675 ULONG (STDMETHODCALLTYPE *AddRef)(
1676 IWICMetadataQueryReader *This);
1677
1678 ULONG (STDMETHODCALLTYPE *Release)(
1679 IWICMetadataQueryReader *This);
1680
1681 /*** IWICMetadataQueryReader methods ***/
1682 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
1683 IWICMetadataQueryReader *This,
1684 GUID *pguidContainerFormat);
1685
1686 HRESULT (STDMETHODCALLTYPE *GetLocation)(
1687 IWICMetadataQueryReader *This,
1688 UINT cchMaxLength,
1689 WCHAR *wzNamespace,
1690 UINT *pcchActualLength);
1691
1692 HRESULT (STDMETHODCALLTYPE *GetMetadataByName)(
1693 IWICMetadataQueryReader *This,
1694 LPCWSTR wzName,
1695 PROPVARIANT *pvarValue);
1696
1697 HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
1698 IWICMetadataQueryReader *This,
1699 IEnumString **ppIEnumString);
1700
1701 END_INTERFACE
1702} IWICMetadataQueryReaderVtbl;
1703
1704interface IWICMetadataQueryReader {
1705 CONST_VTBL IWICMetadataQueryReaderVtbl* lpVtbl;
1706};
1707
1708#ifdef COBJMACROS
1709#ifndef WIDL_C_INLINE_WRAPPERS
1710/*** IUnknown methods ***/
1711#define IWICMetadataQueryReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1712#define IWICMetadataQueryReader_AddRef(This) (This)->lpVtbl->AddRef(This)
1713#define IWICMetadataQueryReader_Release(This) (This)->lpVtbl->Release(This)
1714/*** IWICMetadataQueryReader methods ***/
1715#define IWICMetadataQueryReader_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
1716#define IWICMetadataQueryReader_GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) (This)->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength)
1717#define IWICMetadataQueryReader_GetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->GetMetadataByName(This,wzName,pvarValue)
1718#define IWICMetadataQueryReader_GetEnumerator(This,ppIEnumString) (This)->lpVtbl->GetEnumerator(This,ppIEnumString)
1719#else
1720/*** IUnknown methods ***/
1721static inline HRESULT IWICMetadataQueryReader_QueryInterface(IWICMetadataQueryReader* This,REFIID riid,void **ppvObject) {
1722 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1723}
1724static inline ULONG IWICMetadataQueryReader_AddRef(IWICMetadataQueryReader* This) {
1725 return This->lpVtbl->AddRef(This);
1726}
1727static inline ULONG IWICMetadataQueryReader_Release(IWICMetadataQueryReader* This) {
1728 return This->lpVtbl->Release(This);
1729}
1730/*** IWICMetadataQueryReader methods ***/
1731static inline HRESULT IWICMetadataQueryReader_GetContainerFormat(IWICMetadataQueryReader* This,GUID *pguidContainerFormat) {
1732 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
1733}
1734static inline HRESULT IWICMetadataQueryReader_GetLocation(IWICMetadataQueryReader* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) {
1735 return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength);
1736}
1737static inline HRESULT IWICMetadataQueryReader_GetMetadataByName(IWICMetadataQueryReader* This,LPCWSTR wzName,PROPVARIANT *pvarValue) {
1738 return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue);
1739}
1740static inline HRESULT IWICMetadataQueryReader_GetEnumerator(IWICMetadataQueryReader* This,IEnumString **ppIEnumString) {
1741 return This->lpVtbl->GetEnumerator(This,ppIEnumString);
1742}
1743#endif
1744#endif
1745
1746#endif
1747
1748
1749#endif /* __IWICMetadataQueryReader_INTERFACE_DEFINED__ */
1750
1751/*****************************************************************************
1752 * IWICMetadataQueryWriter interface
1753 */
1754#ifndef __IWICMetadataQueryWriter_INTERFACE_DEFINED__
1755#define __IWICMetadataQueryWriter_INTERFACE_DEFINED__
1756
1757DEFINE_GUID(IID_IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b);
1758#if defined(__cplusplus) && !defined(CINTERFACE)
1759MIDL_INTERFACE("a721791a-0def-4d06-bd91-2118bf1db10b")
1760IWICMetadataQueryWriter : public IWICMetadataQueryReader
1761{
1762 virtual HRESULT STDMETHODCALLTYPE SetMetadataByName(
1763 LPCWSTR wzName,
1764 const PROPVARIANT *pvarValue) = 0;
1765
1766 virtual HRESULT STDMETHODCALLTYPE RemoveMetadataByName(
1767 LPCWSTR wzName) = 0;
1768
1769};
1770#ifdef __CRT_UUID_DECL
1771__CRT_UUID_DECL(IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b)
1772#endif
1773#else
1774typedef struct IWICMetadataQueryWriterVtbl {
1775 BEGIN_INTERFACE
1776
1777 /*** IUnknown methods ***/
1778 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1779 IWICMetadataQueryWriter *This,
1780 REFIID riid,
1781 void **ppvObject);
1782
1783 ULONG (STDMETHODCALLTYPE *AddRef)(
1784 IWICMetadataQueryWriter *This);
1785
1786 ULONG (STDMETHODCALLTYPE *Release)(
1787 IWICMetadataQueryWriter *This);
1788
1789 /*** IWICMetadataQueryReader methods ***/
1790 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
1791 IWICMetadataQueryWriter *This,
1792 GUID *pguidContainerFormat);
1793
1794 HRESULT (STDMETHODCALLTYPE *GetLocation)(
1795 IWICMetadataQueryWriter *This,
1796 UINT cchMaxLength,
1797 WCHAR *wzNamespace,
1798 UINT *pcchActualLength);
1799
1800 HRESULT (STDMETHODCALLTYPE *GetMetadataByName)(
1801 IWICMetadataQueryWriter *This,
1802 LPCWSTR wzName,
1803 PROPVARIANT *pvarValue);
1804
1805 HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
1806 IWICMetadataQueryWriter *This,
1807 IEnumString **ppIEnumString);
1808
1809 /*** IWICMetadataQueryWriter methods ***/
1810 HRESULT (STDMETHODCALLTYPE *SetMetadataByName)(
1811 IWICMetadataQueryWriter *This,
1812 LPCWSTR wzName,
1813 const PROPVARIANT *pvarValue);
1814
1815 HRESULT (STDMETHODCALLTYPE *RemoveMetadataByName)(
1816 IWICMetadataQueryWriter *This,
1817 LPCWSTR wzName);
1818
1819 END_INTERFACE
1820} IWICMetadataQueryWriterVtbl;
1821
1822interface IWICMetadataQueryWriter {
1823 CONST_VTBL IWICMetadataQueryWriterVtbl* lpVtbl;
1824};
1825
1826#ifdef COBJMACROS
1827#ifndef WIDL_C_INLINE_WRAPPERS
1828/*** IUnknown methods ***/
1829#define IWICMetadataQueryWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1830#define IWICMetadataQueryWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
1831#define IWICMetadataQueryWriter_Release(This) (This)->lpVtbl->Release(This)
1832/*** IWICMetadataQueryReader methods ***/
1833#define IWICMetadataQueryWriter_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
1834#define IWICMetadataQueryWriter_GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) (This)->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength)
1835#define IWICMetadataQueryWriter_GetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->GetMetadataByName(This,wzName,pvarValue)
1836#define IWICMetadataQueryWriter_GetEnumerator(This,ppIEnumString) (This)->lpVtbl->GetEnumerator(This,ppIEnumString)
1837/*** IWICMetadataQueryWriter methods ***/
1838#define IWICMetadataQueryWriter_SetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->SetMetadataByName(This,wzName,pvarValue)
1839#define IWICMetadataQueryWriter_RemoveMetadataByName(This,wzName) (This)->lpVtbl->RemoveMetadataByName(This,wzName)
1840#else
1841/*** IUnknown methods ***/
1842static inline HRESULT IWICMetadataQueryWriter_QueryInterface(IWICMetadataQueryWriter* This,REFIID riid,void **ppvObject) {
1843 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1844}
1845static inline ULONG IWICMetadataQueryWriter_AddRef(IWICMetadataQueryWriter* This) {
1846 return This->lpVtbl->AddRef(This);
1847}
1848static inline ULONG IWICMetadataQueryWriter_Release(IWICMetadataQueryWriter* This) {
1849 return This->lpVtbl->Release(This);
1850}
1851/*** IWICMetadataQueryReader methods ***/
1852static inline HRESULT IWICMetadataQueryWriter_GetContainerFormat(IWICMetadataQueryWriter* This,GUID *pguidContainerFormat) {
1853 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
1854}
1855static inline HRESULT IWICMetadataQueryWriter_GetLocation(IWICMetadataQueryWriter* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) {
1856 return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength);
1857}
1858static inline HRESULT IWICMetadataQueryWriter_GetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,PROPVARIANT *pvarValue) {
1859 return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue);
1860}
1861static inline HRESULT IWICMetadataQueryWriter_GetEnumerator(IWICMetadataQueryWriter* This,IEnumString **ppIEnumString) {
1862 return This->lpVtbl->GetEnumerator(This,ppIEnumString);
1863}
1864/*** IWICMetadataQueryWriter methods ***/
1865static inline HRESULT IWICMetadataQueryWriter_SetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,const PROPVARIANT *pvarValue) {
1866 return This->lpVtbl->SetMetadataByName(This,wzName,pvarValue);
1867}
1868static inline HRESULT IWICMetadataQueryWriter_RemoveMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName) {
1869 return This->lpVtbl->RemoveMetadataByName(This,wzName);
1870}
1871#endif
1872#endif
1873
1874#endif
1875
1876
1877#endif /* __IWICMetadataQueryWriter_INTERFACE_DEFINED__ */
1878
1879/*****************************************************************************
1880 * IWICBitmapFrameDecode interface
1881 */
1882#ifndef __IWICBitmapFrameDecode_INTERFACE_DEFINED__
1883#define __IWICBitmapFrameDecode_INTERFACE_DEFINED__
1884
1885DEFINE_GUID(IID_IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40);
1886#if defined(__cplusplus) && !defined(CINTERFACE)
1887MIDL_INTERFACE("3b16811b-6a43-4ec9-a813-3d930c13b940")
1888IWICBitmapFrameDecode : public IWICBitmapSource
1889{
1890 virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryReader(
1891 IWICMetadataQueryReader **ppIMetadataQueryReader) = 0;
1892
1893 virtual HRESULT STDMETHODCALLTYPE GetColorContexts(
1894 UINT cCount,
1895 IWICColorContext **ppIColorContexts,
1896 UINT *pcActualCount) = 0;
1897
1898 virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
1899 IWICBitmapSource **ppIThumbnail) = 0;
1900
1901};
1902#ifdef __CRT_UUID_DECL
1903__CRT_UUID_DECL(IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40)
1904#endif
1905#else
1906typedef struct IWICBitmapFrameDecodeVtbl {
1907 BEGIN_INTERFACE
1908
1909 /*** IUnknown methods ***/
1910 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1911 IWICBitmapFrameDecode *This,
1912 REFIID riid,
1913 void **ppvObject);
1914
1915 ULONG (STDMETHODCALLTYPE *AddRef)(
1916 IWICBitmapFrameDecode *This);
1917
1918 ULONG (STDMETHODCALLTYPE *Release)(
1919 IWICBitmapFrameDecode *This);
1920
1921 /*** IWICBitmapSource methods ***/
1922 HRESULT (STDMETHODCALLTYPE *GetSize)(
1923 IWICBitmapFrameDecode *This,
1924 UINT *puiWidth,
1925 UINT *puiHeight);
1926
1927 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
1928 IWICBitmapFrameDecode *This,
1929 WICPixelFormatGUID *pPixelFormat);
1930
1931 HRESULT (STDMETHODCALLTYPE *GetResolution)(
1932 IWICBitmapFrameDecode *This,
1933 double *pDpiX,
1934 double *pDpiY);
1935
1936 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
1937 IWICBitmapFrameDecode *This,
1938 IWICPalette *pIPalette);
1939
1940 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
1941 IWICBitmapFrameDecode *This,
1942 const WICRect *prc,
1943 UINT cbStride,
1944 UINT cbBufferSize,
1945 BYTE *pbBuffer);
1946
1947 /*** IWICBitmapFrameDecode methods ***/
1948 HRESULT (STDMETHODCALLTYPE *GetMetadataQueryReader)(
1949 IWICBitmapFrameDecode *This,
1950 IWICMetadataQueryReader **ppIMetadataQueryReader);
1951
1952 HRESULT (STDMETHODCALLTYPE *GetColorContexts)(
1953 IWICBitmapFrameDecode *This,
1954 UINT cCount,
1955 IWICColorContext **ppIColorContexts,
1956 UINT *pcActualCount);
1957
1958 HRESULT (STDMETHODCALLTYPE *GetThumbnail)(
1959 IWICBitmapFrameDecode *This,
1960 IWICBitmapSource **ppIThumbnail);
1961
1962 END_INTERFACE
1963} IWICBitmapFrameDecodeVtbl;
1964
1965interface IWICBitmapFrameDecode {
1966 CONST_VTBL IWICBitmapFrameDecodeVtbl* lpVtbl;
1967};
1968
1969#ifdef COBJMACROS
1970#ifndef WIDL_C_INLINE_WRAPPERS
1971/*** IUnknown methods ***/
1972#define IWICBitmapFrameDecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1973#define IWICBitmapFrameDecode_AddRef(This) (This)->lpVtbl->AddRef(This)
1974#define IWICBitmapFrameDecode_Release(This) (This)->lpVtbl->Release(This)
1975/*** IWICBitmapSource methods ***/
1976#define IWICBitmapFrameDecode_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
1977#define IWICBitmapFrameDecode_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
1978#define IWICBitmapFrameDecode_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
1979#define IWICBitmapFrameDecode_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
1980#define IWICBitmapFrameDecode_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
1981/*** IWICBitmapFrameDecode methods ***/
1982#define IWICBitmapFrameDecode_GetMetadataQueryReader(This,ppIMetadataQueryReader) (This)->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader)
1983#define IWICBitmapFrameDecode_GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) (This)->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount)
1984#define IWICBitmapFrameDecode_GetThumbnail(This,ppIThumbnail) (This)->lpVtbl->GetThumbnail(This,ppIThumbnail)
1985#else
1986/*** IUnknown methods ***/
1987static inline HRESULT IWICBitmapFrameDecode_QueryInterface(IWICBitmapFrameDecode* This,REFIID riid,void **ppvObject) {
1988 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1989}
1990static inline ULONG IWICBitmapFrameDecode_AddRef(IWICBitmapFrameDecode* This) {
1991 return This->lpVtbl->AddRef(This);
1992}
1993static inline ULONG IWICBitmapFrameDecode_Release(IWICBitmapFrameDecode* This) {
1994 return This->lpVtbl->Release(This);
1995}
1996/*** IWICBitmapSource methods ***/
1997static inline HRESULT IWICBitmapFrameDecode_GetSize(IWICBitmapFrameDecode* This,UINT *puiWidth,UINT *puiHeight) {
1998 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
1999}
2000static inline HRESULT IWICBitmapFrameDecode_GetPixelFormat(IWICBitmapFrameDecode* This,WICPixelFormatGUID *pPixelFormat) {
2001 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
2002}
2003static inline HRESULT IWICBitmapFrameDecode_GetResolution(IWICBitmapFrameDecode* This,double *pDpiX,double *pDpiY) {
2004 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
2005}
2006static inline HRESULT IWICBitmapFrameDecode_CopyPalette(IWICBitmapFrameDecode* This,IWICPalette *pIPalette) {
2007 return This->lpVtbl->CopyPalette(This,pIPalette);
2008}
2009static inline HRESULT IWICBitmapFrameDecode_CopyPixels(IWICBitmapFrameDecode* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
2010 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
2011}
2012/*** IWICBitmapFrameDecode methods ***/
2013static inline HRESULT IWICBitmapFrameDecode_GetMetadataQueryReader(IWICBitmapFrameDecode* This,IWICMetadataQueryReader **ppIMetadataQueryReader) {
2014 return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader);
2015}
2016static inline HRESULT IWICBitmapFrameDecode_GetColorContexts(IWICBitmapFrameDecode* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) {
2017 return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount);
2018}
2019static inline HRESULT IWICBitmapFrameDecode_GetThumbnail(IWICBitmapFrameDecode* This,IWICBitmapSource **ppIThumbnail) {
2020 return This->lpVtbl->GetThumbnail(This,ppIThumbnail);
2021}
2022#endif
2023#endif
2024
2025#endif
2026
2027
2028#endif /* __IWICBitmapFrameDecode_INTERFACE_DEFINED__ */
2029
2030/*****************************************************************************
2031 * IWICPixelFormatInfo interface
2032 */
2033#ifndef __IWICPixelFormatInfo_INTERFACE_DEFINED__
2034#define __IWICPixelFormatInfo_INTERFACE_DEFINED__
2035
2036DEFINE_GUID(IID_IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe);
2037#if defined(__cplusplus) && !defined(CINTERFACE)
2038MIDL_INTERFACE("e8eda601-3d48-431a-ab44-69059be88bbe")
2039IWICPixelFormatInfo : public IWICComponentInfo
2040{
2041 virtual HRESULT STDMETHODCALLTYPE GetFormatGUID(
2042 GUID *pFormat) = 0;
2043
2044 virtual HRESULT STDMETHODCALLTYPE GetColorContext(
2045 IWICColorContext **ppIColorContext) = 0;
2046
2047 virtual HRESULT STDMETHODCALLTYPE GetBitsPerPixel(
2048 UINT *puiBitsPerPixel) = 0;
2049
2050 virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
2051 UINT *puiChannelCount) = 0;
2052
2053 virtual HRESULT STDMETHODCALLTYPE GetChannelMask(
2054 UINT uiChannelIndex,
2055 UINT cbMaskBuffer,
2056 BYTE *pbMaskBuffer,
2057 UINT *pcbActual) = 0;
2058
2059};
2060#ifdef __CRT_UUID_DECL
2061__CRT_UUID_DECL(IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe)
2062#endif
2063#else
2064typedef struct IWICPixelFormatInfoVtbl {
2065 BEGIN_INTERFACE
2066
2067 /*** IUnknown methods ***/
2068 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2069 IWICPixelFormatInfo *This,
2070 REFIID riid,
2071 void **ppvObject);
2072
2073 ULONG (STDMETHODCALLTYPE *AddRef)(
2074 IWICPixelFormatInfo *This);
2075
2076 ULONG (STDMETHODCALLTYPE *Release)(
2077 IWICPixelFormatInfo *This);
2078
2079 /*** IWICComponentInfo methods ***/
2080 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2081 IWICPixelFormatInfo *This,
2082 WICComponentType *pType);
2083
2084 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2085 IWICPixelFormatInfo *This,
2086 CLSID *pclsid);
2087
2088 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2089 IWICPixelFormatInfo *This,
2090 DWORD *pStatus);
2091
2092 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2093 IWICPixelFormatInfo *This,
2094 UINT cchAuthor,
2095 WCHAR *wzAuthor,
2096 UINT *pcchActual);
2097
2098 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2099 IWICPixelFormatInfo *This,
2100 GUID *pguidVendor);
2101
2102 HRESULT (STDMETHODCALLTYPE *GetVersion)(
2103 IWICPixelFormatInfo *This,
2104 UINT cchVersion,
2105 WCHAR *wzVersion,
2106 UINT *pcchActual);
2107
2108 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2109 IWICPixelFormatInfo *This,
2110 UINT cchSpecVersion,
2111 WCHAR *wzSpecVersion,
2112 UINT *pcchActual);
2113
2114 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2115 IWICPixelFormatInfo *This,
2116 UINT cchFriendlyName,
2117 WCHAR *wzFriendlyName,
2118 UINT *pcchActual);
2119
2120 /*** IWICPixelFormatInfo methods ***/
2121 HRESULT (STDMETHODCALLTYPE *GetFormatGUID)(
2122 IWICPixelFormatInfo *This,
2123 GUID *pFormat);
2124
2125 HRESULT (STDMETHODCALLTYPE *GetColorContext)(
2126 IWICPixelFormatInfo *This,
2127 IWICColorContext **ppIColorContext);
2128
2129 HRESULT (STDMETHODCALLTYPE *GetBitsPerPixel)(
2130 IWICPixelFormatInfo *This,
2131 UINT *puiBitsPerPixel);
2132
2133 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
2134 IWICPixelFormatInfo *This,
2135 UINT *puiChannelCount);
2136
2137 HRESULT (STDMETHODCALLTYPE *GetChannelMask)(
2138 IWICPixelFormatInfo *This,
2139 UINT uiChannelIndex,
2140 UINT cbMaskBuffer,
2141 BYTE *pbMaskBuffer,
2142 UINT *pcbActual);
2143
2144 END_INTERFACE
2145} IWICPixelFormatInfoVtbl;
2146
2147interface IWICPixelFormatInfo {
2148 CONST_VTBL IWICPixelFormatInfoVtbl* lpVtbl;
2149};
2150
2151#ifdef COBJMACROS
2152#ifndef WIDL_C_INLINE_WRAPPERS
2153/*** IUnknown methods ***/
2154#define IWICPixelFormatInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2155#define IWICPixelFormatInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2156#define IWICPixelFormatInfo_Release(This) (This)->lpVtbl->Release(This)
2157/*** IWICComponentInfo methods ***/
2158#define IWICPixelFormatInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2159#define IWICPixelFormatInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2160#define IWICPixelFormatInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2161#define IWICPixelFormatInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2162#define IWICPixelFormatInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2163#define IWICPixelFormatInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2164#define IWICPixelFormatInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2165#define IWICPixelFormatInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2166/*** IWICPixelFormatInfo methods ***/
2167#define IWICPixelFormatInfo_GetFormatGUID(This,pFormat) (This)->lpVtbl->GetFormatGUID(This,pFormat)
2168#define IWICPixelFormatInfo_GetColorContext(This,ppIColorContext) (This)->lpVtbl->GetColorContext(This,ppIColorContext)
2169#define IWICPixelFormatInfo_GetBitsPerPixel(This,puiBitsPerPixel) (This)->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel)
2170#define IWICPixelFormatInfo_GetChannelCount(This,puiChannelCount) (This)->lpVtbl->GetChannelCount(This,puiChannelCount)
2171#define IWICPixelFormatInfo_GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) (This)->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual)
2172#else
2173/*** IUnknown methods ***/
2174static inline HRESULT IWICPixelFormatInfo_QueryInterface(IWICPixelFormatInfo* This,REFIID riid,void **ppvObject) {
2175 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2176}
2177static inline ULONG IWICPixelFormatInfo_AddRef(IWICPixelFormatInfo* This) {
2178 return This->lpVtbl->AddRef(This);
2179}
2180static inline ULONG IWICPixelFormatInfo_Release(IWICPixelFormatInfo* This) {
2181 return This->lpVtbl->Release(This);
2182}
2183/*** IWICComponentInfo methods ***/
2184static inline HRESULT IWICPixelFormatInfo_GetComponentType(IWICPixelFormatInfo* This,WICComponentType *pType) {
2185 return This->lpVtbl->GetComponentType(This,pType);
2186}
2187static inline HRESULT IWICPixelFormatInfo_GetCLSID(IWICPixelFormatInfo* This,CLSID *pclsid) {
2188 return This->lpVtbl->GetCLSID(This,pclsid);
2189}
2190static inline HRESULT IWICPixelFormatInfo_GetSigningStatus(IWICPixelFormatInfo* This,DWORD *pStatus) {
2191 return This->lpVtbl->GetSigningStatus(This,pStatus);
2192}
2193static inline HRESULT IWICPixelFormatInfo_GetAuthor(IWICPixelFormatInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2194 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2195}
2196static inline HRESULT IWICPixelFormatInfo_GetVendorGUID(IWICPixelFormatInfo* This,GUID *pguidVendor) {
2197 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2198}
2199static inline HRESULT IWICPixelFormatInfo_GetVersion(IWICPixelFormatInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2200 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2201}
2202static inline HRESULT IWICPixelFormatInfo_GetSpecVersion(IWICPixelFormatInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2203 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2204}
2205static inline HRESULT IWICPixelFormatInfo_GetFriendlyName(IWICPixelFormatInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2206 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2207}
2208/*** IWICPixelFormatInfo methods ***/
2209static inline HRESULT IWICPixelFormatInfo_GetFormatGUID(IWICPixelFormatInfo* This,GUID *pFormat) {
2210 return This->lpVtbl->GetFormatGUID(This,pFormat);
2211}
2212static inline HRESULT IWICPixelFormatInfo_GetColorContext(IWICPixelFormatInfo* This,IWICColorContext **ppIColorContext) {
2213 return This->lpVtbl->GetColorContext(This,ppIColorContext);
2214}
2215static inline HRESULT IWICPixelFormatInfo_GetBitsPerPixel(IWICPixelFormatInfo* This,UINT *puiBitsPerPixel) {
2216 return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel);
2217}
2218static inline HRESULT IWICPixelFormatInfo_GetChannelCount(IWICPixelFormatInfo* This,UINT *puiChannelCount) {
2219 return This->lpVtbl->GetChannelCount(This,puiChannelCount);
2220}
2221static inline HRESULT IWICPixelFormatInfo_GetChannelMask(IWICPixelFormatInfo* This,UINT uiChannelIndex,UINT cbMaskBuffer,BYTE *pbMaskBuffer,UINT *pcbActual) {
2222 return This->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual);
2223}
2224#endif
2225#endif
2226
2227#endif
2228
2229
2230#endif /* __IWICPixelFormatInfo_INTERFACE_DEFINED__ */
2231
2232/*****************************************************************************
2233 * IWICPixelFormatInfo2 interface
2234 */
2235#ifndef __IWICPixelFormatInfo2_INTERFACE_DEFINED__
2236#define __IWICPixelFormatInfo2_INTERFACE_DEFINED__
2237
2238DEFINE_GUID(IID_IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4);
2239#if defined(__cplusplus) && !defined(CINTERFACE)
2240MIDL_INTERFACE("a9db33a2-af5f-43c7-b679-74f5984b5aa4")
2241IWICPixelFormatInfo2 : public IWICPixelFormatInfo
2242{
2243 virtual HRESULT STDMETHODCALLTYPE SupportsTransparency(
2244 WINBOOL *pfSupportsTransparency) = 0;
2245
2246 virtual HRESULT STDMETHODCALLTYPE GetNumericRepresentation(
2247 WICPixelFormatNumericRepresentation *pNumericRepresentation) = 0;
2248
2249};
2250#ifdef __CRT_UUID_DECL
2251__CRT_UUID_DECL(IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4)
2252#endif
2253#else
2254typedef struct IWICPixelFormatInfo2Vtbl {
2255 BEGIN_INTERFACE
2256
2257 /*** IUnknown methods ***/
2258 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2259 IWICPixelFormatInfo2 *This,
2260 REFIID riid,
2261 void **ppvObject);
2262
2263 ULONG (STDMETHODCALLTYPE *AddRef)(
2264 IWICPixelFormatInfo2 *This);
2265
2266 ULONG (STDMETHODCALLTYPE *Release)(
2267 IWICPixelFormatInfo2 *This);
2268
2269 /*** IWICComponentInfo methods ***/
2270 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2271 IWICPixelFormatInfo2 *This,
2272 WICComponentType *pType);
2273
2274 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2275 IWICPixelFormatInfo2 *This,
2276 CLSID *pclsid);
2277
2278 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2279 IWICPixelFormatInfo2 *This,
2280 DWORD *pStatus);
2281
2282 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2283 IWICPixelFormatInfo2 *This,
2284 UINT cchAuthor,
2285 WCHAR *wzAuthor,
2286 UINT *pcchActual);
2287
2288 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2289 IWICPixelFormatInfo2 *This,
2290 GUID *pguidVendor);
2291
2292 HRESULT (STDMETHODCALLTYPE *GetVersion)(
2293 IWICPixelFormatInfo2 *This,
2294 UINT cchVersion,
2295 WCHAR *wzVersion,
2296 UINT *pcchActual);
2297
2298 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2299 IWICPixelFormatInfo2 *This,
2300 UINT cchSpecVersion,
2301 WCHAR *wzSpecVersion,
2302 UINT *pcchActual);
2303
2304 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2305 IWICPixelFormatInfo2 *This,
2306 UINT cchFriendlyName,
2307 WCHAR *wzFriendlyName,
2308 UINT *pcchActual);
2309
2310 /*** IWICPixelFormatInfo methods ***/
2311 HRESULT (STDMETHODCALLTYPE *GetFormatGUID)(
2312 IWICPixelFormatInfo2 *This,
2313 GUID *pFormat);
2314
2315 HRESULT (STDMETHODCALLTYPE *GetColorContext)(
2316 IWICPixelFormatInfo2 *This,
2317 IWICColorContext **ppIColorContext);
2318
2319 HRESULT (STDMETHODCALLTYPE *GetBitsPerPixel)(
2320 IWICPixelFormatInfo2 *This,
2321 UINT *puiBitsPerPixel);
2322
2323 HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
2324 IWICPixelFormatInfo2 *This,
2325 UINT *puiChannelCount);
2326
2327 HRESULT (STDMETHODCALLTYPE *GetChannelMask)(
2328 IWICPixelFormatInfo2 *This,
2329 UINT uiChannelIndex,
2330 UINT cbMaskBuffer,
2331 BYTE *pbMaskBuffer,
2332 UINT *pcbActual);
2333
2334 /*** IWICPixelFormatInfo2 methods ***/
2335 HRESULT (STDMETHODCALLTYPE *SupportsTransparency)(
2336 IWICPixelFormatInfo2 *This,
2337 WINBOOL *pfSupportsTransparency);
2338
2339 HRESULT (STDMETHODCALLTYPE *GetNumericRepresentation)(
2340 IWICPixelFormatInfo2 *This,
2341 WICPixelFormatNumericRepresentation *pNumericRepresentation);
2342
2343 END_INTERFACE
2344} IWICPixelFormatInfo2Vtbl;
2345
2346interface IWICPixelFormatInfo2 {
2347 CONST_VTBL IWICPixelFormatInfo2Vtbl* lpVtbl;
2348};
2349
2350#ifdef COBJMACROS
2351#ifndef WIDL_C_INLINE_WRAPPERS
2352/*** IUnknown methods ***/
2353#define IWICPixelFormatInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2354#define IWICPixelFormatInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
2355#define IWICPixelFormatInfo2_Release(This) (This)->lpVtbl->Release(This)
2356/*** IWICComponentInfo methods ***/
2357#define IWICPixelFormatInfo2_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2358#define IWICPixelFormatInfo2_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2359#define IWICPixelFormatInfo2_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2360#define IWICPixelFormatInfo2_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2361#define IWICPixelFormatInfo2_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2362#define IWICPixelFormatInfo2_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2363#define IWICPixelFormatInfo2_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2364#define IWICPixelFormatInfo2_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2365/*** IWICPixelFormatInfo methods ***/
2366#define IWICPixelFormatInfo2_GetFormatGUID(This,pFormat) (This)->lpVtbl->GetFormatGUID(This,pFormat)
2367#define IWICPixelFormatInfo2_GetColorContext(This,ppIColorContext) (This)->lpVtbl->GetColorContext(This,ppIColorContext)
2368#define IWICPixelFormatInfo2_GetBitsPerPixel(This,puiBitsPerPixel) (This)->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel)
2369#define IWICPixelFormatInfo2_GetChannelCount(This,puiChannelCount) (This)->lpVtbl->GetChannelCount(This,puiChannelCount)
2370#define IWICPixelFormatInfo2_GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) (This)->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual)
2371/*** IWICPixelFormatInfo2 methods ***/
2372#define IWICPixelFormatInfo2_SupportsTransparency(This,pfSupportsTransparency) (This)->lpVtbl->SupportsTransparency(This,pfSupportsTransparency)
2373#define IWICPixelFormatInfo2_GetNumericRepresentation(This,pNumericRepresentation) (This)->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation)
2374#else
2375/*** IUnknown methods ***/
2376static inline HRESULT IWICPixelFormatInfo2_QueryInterface(IWICPixelFormatInfo2* This,REFIID riid,void **ppvObject) {
2377 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2378}
2379static inline ULONG IWICPixelFormatInfo2_AddRef(IWICPixelFormatInfo2* This) {
2380 return This->lpVtbl->AddRef(This);
2381}
2382static inline ULONG IWICPixelFormatInfo2_Release(IWICPixelFormatInfo2* This) {
2383 return This->lpVtbl->Release(This);
2384}
2385/*** IWICComponentInfo methods ***/
2386static inline HRESULT IWICPixelFormatInfo2_GetComponentType(IWICPixelFormatInfo2* This,WICComponentType *pType) {
2387 return This->lpVtbl->GetComponentType(This,pType);
2388}
2389static inline HRESULT IWICPixelFormatInfo2_GetCLSID(IWICPixelFormatInfo2* This,CLSID *pclsid) {
2390 return This->lpVtbl->GetCLSID(This,pclsid);
2391}
2392static inline HRESULT IWICPixelFormatInfo2_GetSigningStatus(IWICPixelFormatInfo2* This,DWORD *pStatus) {
2393 return This->lpVtbl->GetSigningStatus(This,pStatus);
2394}
2395static inline HRESULT IWICPixelFormatInfo2_GetAuthor(IWICPixelFormatInfo2* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2396 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2397}
2398static inline HRESULT IWICPixelFormatInfo2_GetVendorGUID(IWICPixelFormatInfo2* This,GUID *pguidVendor) {
2399 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2400}
2401static inline HRESULT IWICPixelFormatInfo2_GetVersion(IWICPixelFormatInfo2* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2402 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2403}
2404static inline HRESULT IWICPixelFormatInfo2_GetSpecVersion(IWICPixelFormatInfo2* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2405 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2406}
2407static inline HRESULT IWICPixelFormatInfo2_GetFriendlyName(IWICPixelFormatInfo2* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2408 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2409}
2410/*** IWICPixelFormatInfo methods ***/
2411static inline HRESULT IWICPixelFormatInfo2_GetFormatGUID(IWICPixelFormatInfo2* This,GUID *pFormat) {
2412 return This->lpVtbl->GetFormatGUID(This,pFormat);
2413}
2414static inline HRESULT IWICPixelFormatInfo2_GetColorContext(IWICPixelFormatInfo2* This,IWICColorContext **ppIColorContext) {
2415 return This->lpVtbl->GetColorContext(This,ppIColorContext);
2416}
2417static inline HRESULT IWICPixelFormatInfo2_GetBitsPerPixel(IWICPixelFormatInfo2* This,UINT *puiBitsPerPixel) {
2418 return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel);
2419}
2420static inline HRESULT IWICPixelFormatInfo2_GetChannelCount(IWICPixelFormatInfo2* This,UINT *puiChannelCount) {
2421 return This->lpVtbl->GetChannelCount(This,puiChannelCount);
2422}
2423static inline HRESULT IWICPixelFormatInfo2_GetChannelMask(IWICPixelFormatInfo2* This,UINT uiChannelIndex,UINT cbMaskBuffer,BYTE *pbMaskBuffer,UINT *pcbActual) {
2424 return This->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual);
2425}
2426/*** IWICPixelFormatInfo2 methods ***/
2427static inline HRESULT IWICPixelFormatInfo2_SupportsTransparency(IWICPixelFormatInfo2* This,WINBOOL *pfSupportsTransparency) {
2428 return This->lpVtbl->SupportsTransparency(This,pfSupportsTransparency);
2429}
2430static inline HRESULT IWICPixelFormatInfo2_GetNumericRepresentation(IWICPixelFormatInfo2* This,WICPixelFormatNumericRepresentation *pNumericRepresentation) {
2431 return This->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation);
2432}
2433#endif
2434#endif
2435
2436#endif
2437
2438
2439#endif /* __IWICPixelFormatInfo2_INTERFACE_DEFINED__ */
2440
2441/*****************************************************************************
2442 * IWICBitmapCodecInfo interface
2443 */
2444#ifndef __IWICBitmapCodecInfo_INTERFACE_DEFINED__
2445#define __IWICBitmapCodecInfo_INTERFACE_DEFINED__
2446
2447DEFINE_GUID(IID_IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14);
2448#if defined(__cplusplus) && !defined(CINTERFACE)
2449MIDL_INTERFACE("e87a44c4-b76e-4c47-8b09-298eb12a2714")
2450IWICBitmapCodecInfo : public IWICComponentInfo
2451{
2452 virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
2453 GUID *pguidContainerFormat) = 0;
2454
2455 virtual HRESULT STDMETHODCALLTYPE GetPixelFormats(
2456 UINT cFormats,
2457 GUID *pguidPixelFormats,
2458 UINT *pcActual) = 0;
2459
2460 virtual HRESULT STDMETHODCALLTYPE GetColorManagementVersion(
2461 UINT cchColorManagementVersion,
2462 WCHAR *wzColorManagementVersion,
2463 UINT *pcchActual) = 0;
2464
2465 virtual HRESULT STDMETHODCALLTYPE GetDeviceManufacturer(
2466 UINT cchDeviceManufacturer,
2467 WCHAR *wzDeviceManufacturer,
2468 UINT *pcchActual) = 0;
2469
2470 virtual HRESULT STDMETHODCALLTYPE GetDeviceModels(
2471 UINT cchDeviceModels,
2472 WCHAR *wzDeviceModels,
2473 UINT *pcchActual) = 0;
2474
2475 virtual HRESULT STDMETHODCALLTYPE GetMimeTypes(
2476 UINT cchMimeTypes,
2477 WCHAR *wzMimeTypes,
2478 UINT *pcchActual) = 0;
2479
2480 virtual HRESULT STDMETHODCALLTYPE GetFileExtensions(
2481 UINT cchFileExtensions,
2482 WCHAR *wzFileExtensions,
2483 UINT *pcchActual) = 0;
2484
2485 virtual HRESULT STDMETHODCALLTYPE DoesSupportAnimation(
2486 WINBOOL *pfSupportAnimation) = 0;
2487
2488 virtual HRESULT STDMETHODCALLTYPE DoesSupportChromaKey(
2489 WINBOOL *pfSupportChromaKey) = 0;
2490
2491 virtual HRESULT STDMETHODCALLTYPE DoesSupportLossless(
2492 WINBOOL *pfSupportLossless) = 0;
2493
2494 virtual HRESULT STDMETHODCALLTYPE DoesSupportMultiframe(
2495 WINBOOL *pfSupportMultiframe) = 0;
2496
2497 virtual HRESULT STDMETHODCALLTYPE MatchesMimeType(
2498 LPCWSTR wzMimeType,
2499 WINBOOL *pfMatches) = 0;
2500
2501};
2502#ifdef __CRT_UUID_DECL
2503__CRT_UUID_DECL(IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14)
2504#endif
2505#else
2506typedef struct IWICBitmapCodecInfoVtbl {
2507 BEGIN_INTERFACE
2508
2509 /*** IUnknown methods ***/
2510 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2511 IWICBitmapCodecInfo *This,
2512 REFIID riid,
2513 void **ppvObject);
2514
2515 ULONG (STDMETHODCALLTYPE *AddRef)(
2516 IWICBitmapCodecInfo *This);
2517
2518 ULONG (STDMETHODCALLTYPE *Release)(
2519 IWICBitmapCodecInfo *This);
2520
2521 /*** IWICComponentInfo methods ***/
2522 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2523 IWICBitmapCodecInfo *This,
2524 WICComponentType *pType);
2525
2526 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2527 IWICBitmapCodecInfo *This,
2528 CLSID *pclsid);
2529
2530 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2531 IWICBitmapCodecInfo *This,
2532 DWORD *pStatus);
2533
2534 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2535 IWICBitmapCodecInfo *This,
2536 UINT cchAuthor,
2537 WCHAR *wzAuthor,
2538 UINT *pcchActual);
2539
2540 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2541 IWICBitmapCodecInfo *This,
2542 GUID *pguidVendor);
2543
2544 HRESULT (STDMETHODCALLTYPE *GetVersion)(
2545 IWICBitmapCodecInfo *This,
2546 UINT cchVersion,
2547 WCHAR *wzVersion,
2548 UINT *pcchActual);
2549
2550 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2551 IWICBitmapCodecInfo *This,
2552 UINT cchSpecVersion,
2553 WCHAR *wzSpecVersion,
2554 UINT *pcchActual);
2555
2556 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2557 IWICBitmapCodecInfo *This,
2558 UINT cchFriendlyName,
2559 WCHAR *wzFriendlyName,
2560 UINT *pcchActual);
2561
2562 /*** IWICBitmapCodecInfo methods ***/
2563 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
2564 IWICBitmapCodecInfo *This,
2565 GUID *pguidContainerFormat);
2566
2567 HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
2568 IWICBitmapCodecInfo *This,
2569 UINT cFormats,
2570 GUID *pguidPixelFormats,
2571 UINT *pcActual);
2572
2573 HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)(
2574 IWICBitmapCodecInfo *This,
2575 UINT cchColorManagementVersion,
2576 WCHAR *wzColorManagementVersion,
2577 UINT *pcchActual);
2578
2579 HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
2580 IWICBitmapCodecInfo *This,
2581 UINT cchDeviceManufacturer,
2582 WCHAR *wzDeviceManufacturer,
2583 UINT *pcchActual);
2584
2585 HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
2586 IWICBitmapCodecInfo *This,
2587 UINT cchDeviceModels,
2588 WCHAR *wzDeviceModels,
2589 UINT *pcchActual);
2590
2591 HRESULT (STDMETHODCALLTYPE *GetMimeTypes)(
2592 IWICBitmapCodecInfo *This,
2593 UINT cchMimeTypes,
2594 WCHAR *wzMimeTypes,
2595 UINT *pcchActual);
2596
2597 HRESULT (STDMETHODCALLTYPE *GetFileExtensions)(
2598 IWICBitmapCodecInfo *This,
2599 UINT cchFileExtensions,
2600 WCHAR *wzFileExtensions,
2601 UINT *pcchActual);
2602
2603 HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)(
2604 IWICBitmapCodecInfo *This,
2605 WINBOOL *pfSupportAnimation);
2606
2607 HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)(
2608 IWICBitmapCodecInfo *This,
2609 WINBOOL *pfSupportChromaKey);
2610
2611 HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)(
2612 IWICBitmapCodecInfo *This,
2613 WINBOOL *pfSupportLossless);
2614
2615 HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)(
2616 IWICBitmapCodecInfo *This,
2617 WINBOOL *pfSupportMultiframe);
2618
2619 HRESULT (STDMETHODCALLTYPE *MatchesMimeType)(
2620 IWICBitmapCodecInfo *This,
2621 LPCWSTR wzMimeType,
2622 WINBOOL *pfMatches);
2623
2624 END_INTERFACE
2625} IWICBitmapCodecInfoVtbl;
2626
2627interface IWICBitmapCodecInfo {
2628 CONST_VTBL IWICBitmapCodecInfoVtbl* lpVtbl;
2629};
2630
2631#ifdef COBJMACROS
2632#ifndef WIDL_C_INLINE_WRAPPERS
2633/*** IUnknown methods ***/
2634#define IWICBitmapCodecInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2635#define IWICBitmapCodecInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2636#define IWICBitmapCodecInfo_Release(This) (This)->lpVtbl->Release(This)
2637/*** IWICComponentInfo methods ***/
2638#define IWICBitmapCodecInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2639#define IWICBitmapCodecInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2640#define IWICBitmapCodecInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2641#define IWICBitmapCodecInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2642#define IWICBitmapCodecInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2643#define IWICBitmapCodecInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2644#define IWICBitmapCodecInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2645#define IWICBitmapCodecInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2646/*** IWICBitmapCodecInfo methods ***/
2647#define IWICBitmapCodecInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
2648#define IWICBitmapCodecInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual)
2649#define IWICBitmapCodecInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual)
2650#define IWICBitmapCodecInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
2651#define IWICBitmapCodecInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
2652#define IWICBitmapCodecInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual)
2653#define IWICBitmapCodecInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual)
2654#define IWICBitmapCodecInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation)
2655#define IWICBitmapCodecInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey)
2656#define IWICBitmapCodecInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless)
2657#define IWICBitmapCodecInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe)
2658#define IWICBitmapCodecInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches)
2659#else
2660/*** IUnknown methods ***/
2661static inline HRESULT IWICBitmapCodecInfo_QueryInterface(IWICBitmapCodecInfo* This,REFIID riid,void **ppvObject) {
2662 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2663}
2664static inline ULONG IWICBitmapCodecInfo_AddRef(IWICBitmapCodecInfo* This) {
2665 return This->lpVtbl->AddRef(This);
2666}
2667static inline ULONG IWICBitmapCodecInfo_Release(IWICBitmapCodecInfo* This) {
2668 return This->lpVtbl->Release(This);
2669}
2670/*** IWICComponentInfo methods ***/
2671static inline HRESULT IWICBitmapCodecInfo_GetComponentType(IWICBitmapCodecInfo* This,WICComponentType *pType) {
2672 return This->lpVtbl->GetComponentType(This,pType);
2673}
2674static inline HRESULT IWICBitmapCodecInfo_GetCLSID(IWICBitmapCodecInfo* This,CLSID *pclsid) {
2675 return This->lpVtbl->GetCLSID(This,pclsid);
2676}
2677static inline HRESULT IWICBitmapCodecInfo_GetSigningStatus(IWICBitmapCodecInfo* This,DWORD *pStatus) {
2678 return This->lpVtbl->GetSigningStatus(This,pStatus);
2679}
2680static inline HRESULT IWICBitmapCodecInfo_GetAuthor(IWICBitmapCodecInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2681 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2682}
2683static inline HRESULT IWICBitmapCodecInfo_GetVendorGUID(IWICBitmapCodecInfo* This,GUID *pguidVendor) {
2684 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2685}
2686static inline HRESULT IWICBitmapCodecInfo_GetVersion(IWICBitmapCodecInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2687 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2688}
2689static inline HRESULT IWICBitmapCodecInfo_GetSpecVersion(IWICBitmapCodecInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2690 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2691}
2692static inline HRESULT IWICBitmapCodecInfo_GetFriendlyName(IWICBitmapCodecInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2693 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2694}
2695/*** IWICBitmapCodecInfo methods ***/
2696static inline HRESULT IWICBitmapCodecInfo_GetContainerFormat(IWICBitmapCodecInfo* This,GUID *pguidContainerFormat) {
2697 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
2698}
2699static inline HRESULT IWICBitmapCodecInfo_GetPixelFormats(IWICBitmapCodecInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
2700 return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
2701}
2702static inline HRESULT IWICBitmapCodecInfo_GetColorManagementVersion(IWICBitmapCodecInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
2703 return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
2704}
2705static inline HRESULT IWICBitmapCodecInfo_GetDeviceManufacturer(IWICBitmapCodecInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
2706 return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
2707}
2708static inline HRESULT IWICBitmapCodecInfo_GetDeviceModels(IWICBitmapCodecInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
2709 return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
2710}
2711static inline HRESULT IWICBitmapCodecInfo_GetMimeTypes(IWICBitmapCodecInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
2712 return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
2713}
2714static inline HRESULT IWICBitmapCodecInfo_GetFileExtensions(IWICBitmapCodecInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
2715 return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
2716}
2717static inline HRESULT IWICBitmapCodecInfo_DoesSupportAnimation(IWICBitmapCodecInfo* This,WINBOOL *pfSupportAnimation) {
2718 return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
2719}
2720static inline HRESULT IWICBitmapCodecInfo_DoesSupportChromaKey(IWICBitmapCodecInfo* This,WINBOOL *pfSupportChromaKey) {
2721 return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
2722}
2723static inline HRESULT IWICBitmapCodecInfo_DoesSupportLossless(IWICBitmapCodecInfo* This,WINBOOL *pfSupportLossless) {
2724 return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
2725}
2726static inline HRESULT IWICBitmapCodecInfo_DoesSupportMultiframe(IWICBitmapCodecInfo* This,WINBOOL *pfSupportMultiframe) {
2727 return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
2728}
2729static inline HRESULT IWICBitmapCodecInfo_MatchesMimeType(IWICBitmapCodecInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
2730 return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
2731}
2732#endif
2733#endif
2734
2735#endif
2736
2737
2738#endif /* __IWICBitmapCodecInfo_INTERFACE_DEFINED__ */
2739
2740#ifndef __IWICBitmapDecoder_FWD_DEFINED__
2741#define __IWICBitmapDecoder_FWD_DEFINED__
2742typedef interface IWICBitmapDecoder IWICBitmapDecoder;
2743#ifdef __cplusplus
2744interface IWICBitmapDecoder;
2745#endif /* __cplusplus */
2746#endif
2747
2748/*****************************************************************************
2749 * IWICBitmapDecoderInfo interface
2750 */
2751#ifndef __IWICBitmapDecoderInfo_INTERFACE_DEFINED__
2752#define __IWICBitmapDecoderInfo_INTERFACE_DEFINED__
2753
2754DEFINE_GUID(IID_IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5);
2755#if defined(__cplusplus) && !defined(CINTERFACE)
2756MIDL_INTERFACE("d8cd007f-d08f-4191-9bfc-236ea7f0e4b5")
2757IWICBitmapDecoderInfo : public IWICBitmapCodecInfo
2758{
2759 virtual HRESULT STDMETHODCALLTYPE GetPatterns(
2760 UINT cbSizePatterns,
2761 WICBitmapPattern *pPatterns,
2762 UINT *pcPatterns,
2763 UINT *pcbPatternsActual) = 0;
2764
2765 virtual HRESULT STDMETHODCALLTYPE MatchesPattern(
2766 IStream *pIStream,
2767 WINBOOL *pfMatches) = 0;
2768
2769 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
2770 IWICBitmapDecoder **ppIBitmapDecoder) = 0;
2771
2772};
2773#ifdef __CRT_UUID_DECL
2774__CRT_UUID_DECL(IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5)
2775#endif
2776#else
2777typedef struct IWICBitmapDecoderInfoVtbl {
2778 BEGIN_INTERFACE
2779
2780 /*** IUnknown methods ***/
2781 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2782 IWICBitmapDecoderInfo *This,
2783 REFIID riid,
2784 void **ppvObject);
2785
2786 ULONG (STDMETHODCALLTYPE *AddRef)(
2787 IWICBitmapDecoderInfo *This);
2788
2789 ULONG (STDMETHODCALLTYPE *Release)(
2790 IWICBitmapDecoderInfo *This);
2791
2792 /*** IWICComponentInfo methods ***/
2793 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2794 IWICBitmapDecoderInfo *This,
2795 WICComponentType *pType);
2796
2797 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2798 IWICBitmapDecoderInfo *This,
2799 CLSID *pclsid);
2800
2801 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2802 IWICBitmapDecoderInfo *This,
2803 DWORD *pStatus);
2804
2805 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2806 IWICBitmapDecoderInfo *This,
2807 UINT cchAuthor,
2808 WCHAR *wzAuthor,
2809 UINT *pcchActual);
2810
2811 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2812 IWICBitmapDecoderInfo *This,
2813 GUID *pguidVendor);
2814
2815 HRESULT (STDMETHODCALLTYPE *GetVersion)(
2816 IWICBitmapDecoderInfo *This,
2817 UINT cchVersion,
2818 WCHAR *wzVersion,
2819 UINT *pcchActual);
2820
2821 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2822 IWICBitmapDecoderInfo *This,
2823 UINT cchSpecVersion,
2824 WCHAR *wzSpecVersion,
2825 UINT *pcchActual);
2826
2827 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2828 IWICBitmapDecoderInfo *This,
2829 UINT cchFriendlyName,
2830 WCHAR *wzFriendlyName,
2831 UINT *pcchActual);
2832
2833 /*** IWICBitmapCodecInfo methods ***/
2834 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
2835 IWICBitmapDecoderInfo *This,
2836 GUID *pguidContainerFormat);
2837
2838 HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
2839 IWICBitmapDecoderInfo *This,
2840 UINT cFormats,
2841 GUID *pguidPixelFormats,
2842 UINT *pcActual);
2843
2844 HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)(
2845 IWICBitmapDecoderInfo *This,
2846 UINT cchColorManagementVersion,
2847 WCHAR *wzColorManagementVersion,
2848 UINT *pcchActual);
2849
2850 HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
2851 IWICBitmapDecoderInfo *This,
2852 UINT cchDeviceManufacturer,
2853 WCHAR *wzDeviceManufacturer,
2854 UINT *pcchActual);
2855
2856 HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
2857 IWICBitmapDecoderInfo *This,
2858 UINT cchDeviceModels,
2859 WCHAR *wzDeviceModels,
2860 UINT *pcchActual);
2861
2862 HRESULT (STDMETHODCALLTYPE *GetMimeTypes)(
2863 IWICBitmapDecoderInfo *This,
2864 UINT cchMimeTypes,
2865 WCHAR *wzMimeTypes,
2866 UINT *pcchActual);
2867
2868 HRESULT (STDMETHODCALLTYPE *GetFileExtensions)(
2869 IWICBitmapDecoderInfo *This,
2870 UINT cchFileExtensions,
2871 WCHAR *wzFileExtensions,
2872 UINT *pcchActual);
2873
2874 HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)(
2875 IWICBitmapDecoderInfo *This,
2876 WINBOOL *pfSupportAnimation);
2877
2878 HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)(
2879 IWICBitmapDecoderInfo *This,
2880 WINBOOL *pfSupportChromaKey);
2881
2882 HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)(
2883 IWICBitmapDecoderInfo *This,
2884 WINBOOL *pfSupportLossless);
2885
2886 HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)(
2887 IWICBitmapDecoderInfo *This,
2888 WINBOOL *pfSupportMultiframe);
2889
2890 HRESULT (STDMETHODCALLTYPE *MatchesMimeType)(
2891 IWICBitmapDecoderInfo *This,
2892 LPCWSTR wzMimeType,
2893 WINBOOL *pfMatches);
2894
2895 /*** IWICBitmapDecoderInfo methods ***/
2896 HRESULT (STDMETHODCALLTYPE *GetPatterns)(
2897 IWICBitmapDecoderInfo *This,
2898 UINT cbSizePatterns,
2899 WICBitmapPattern *pPatterns,
2900 UINT *pcPatterns,
2901 UINT *pcbPatternsActual);
2902
2903 HRESULT (STDMETHODCALLTYPE *MatchesPattern)(
2904 IWICBitmapDecoderInfo *This,
2905 IStream *pIStream,
2906 WINBOOL *pfMatches);
2907
2908 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
2909 IWICBitmapDecoderInfo *This,
2910 IWICBitmapDecoder **ppIBitmapDecoder);
2911
2912 END_INTERFACE
2913} IWICBitmapDecoderInfoVtbl;
2914
2915interface IWICBitmapDecoderInfo {
2916 CONST_VTBL IWICBitmapDecoderInfoVtbl* lpVtbl;
2917};
2918
2919#ifdef COBJMACROS
2920#ifndef WIDL_C_INLINE_WRAPPERS
2921/*** IUnknown methods ***/
2922#define IWICBitmapDecoderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2923#define IWICBitmapDecoderInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2924#define IWICBitmapDecoderInfo_Release(This) (This)->lpVtbl->Release(This)
2925/*** IWICComponentInfo methods ***/
2926#define IWICBitmapDecoderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2927#define IWICBitmapDecoderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2928#define IWICBitmapDecoderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2929#define IWICBitmapDecoderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2930#define IWICBitmapDecoderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2931#define IWICBitmapDecoderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2932#define IWICBitmapDecoderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2933#define IWICBitmapDecoderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2934/*** IWICBitmapCodecInfo methods ***/
2935#define IWICBitmapDecoderInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
2936#define IWICBitmapDecoderInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual)
2937#define IWICBitmapDecoderInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual)
2938#define IWICBitmapDecoderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
2939#define IWICBitmapDecoderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
2940#define IWICBitmapDecoderInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual)
2941#define IWICBitmapDecoderInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual)
2942#define IWICBitmapDecoderInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation)
2943#define IWICBitmapDecoderInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey)
2944#define IWICBitmapDecoderInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless)
2945#define IWICBitmapDecoderInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe)
2946#define IWICBitmapDecoderInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches)
2947/*** IWICBitmapDecoderInfo methods ***/
2948#define IWICBitmapDecoderInfo_GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual) (This)->lpVtbl->GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual)
2949#define IWICBitmapDecoderInfo_MatchesPattern(This,pIStream,pfMatches) (This)->lpVtbl->MatchesPattern(This,pIStream,pfMatches)
2950#define IWICBitmapDecoderInfo_CreateInstance(This,ppIBitmapDecoder) (This)->lpVtbl->CreateInstance(This,ppIBitmapDecoder)
2951#else
2952/*** IUnknown methods ***/
2953static inline HRESULT IWICBitmapDecoderInfo_QueryInterface(IWICBitmapDecoderInfo* This,REFIID riid,void **ppvObject) {
2954 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2955}
2956static inline ULONG IWICBitmapDecoderInfo_AddRef(IWICBitmapDecoderInfo* This) {
2957 return This->lpVtbl->AddRef(This);
2958}
2959static inline ULONG IWICBitmapDecoderInfo_Release(IWICBitmapDecoderInfo* This) {
2960 return This->lpVtbl->Release(This);
2961}
2962/*** IWICComponentInfo methods ***/
2963static inline HRESULT IWICBitmapDecoderInfo_GetComponentType(IWICBitmapDecoderInfo* This,WICComponentType *pType) {
2964 return This->lpVtbl->GetComponentType(This,pType);
2965}
2966static inline HRESULT IWICBitmapDecoderInfo_GetCLSID(IWICBitmapDecoderInfo* This,CLSID *pclsid) {
2967 return This->lpVtbl->GetCLSID(This,pclsid);
2968}
2969static inline HRESULT IWICBitmapDecoderInfo_GetSigningStatus(IWICBitmapDecoderInfo* This,DWORD *pStatus) {
2970 return This->lpVtbl->GetSigningStatus(This,pStatus);
2971}
2972static inline HRESULT IWICBitmapDecoderInfo_GetAuthor(IWICBitmapDecoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2973 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2974}
2975static inline HRESULT IWICBitmapDecoderInfo_GetVendorGUID(IWICBitmapDecoderInfo* This,GUID *pguidVendor) {
2976 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2977}
2978static inline HRESULT IWICBitmapDecoderInfo_GetVersion(IWICBitmapDecoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2979 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2980}
2981static inline HRESULT IWICBitmapDecoderInfo_GetSpecVersion(IWICBitmapDecoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2982 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2983}
2984static inline HRESULT IWICBitmapDecoderInfo_GetFriendlyName(IWICBitmapDecoderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2985 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2986}
2987/*** IWICBitmapCodecInfo methods ***/
2988static inline HRESULT IWICBitmapDecoderInfo_GetContainerFormat(IWICBitmapDecoderInfo* This,GUID *pguidContainerFormat) {
2989 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
2990}
2991static inline HRESULT IWICBitmapDecoderInfo_GetPixelFormats(IWICBitmapDecoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
2992 return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
2993}
2994static inline HRESULT IWICBitmapDecoderInfo_GetColorManagementVersion(IWICBitmapDecoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
2995 return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
2996}
2997static inline HRESULT IWICBitmapDecoderInfo_GetDeviceManufacturer(IWICBitmapDecoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
2998 return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
2999}
3000static inline HRESULT IWICBitmapDecoderInfo_GetDeviceModels(IWICBitmapDecoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
3001 return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
3002}
3003static inline HRESULT IWICBitmapDecoderInfo_GetMimeTypes(IWICBitmapDecoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
3004 return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
3005}
3006static inline HRESULT IWICBitmapDecoderInfo_GetFileExtensions(IWICBitmapDecoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
3007 return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
3008}
3009static inline HRESULT IWICBitmapDecoderInfo_DoesSupportAnimation(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportAnimation) {
3010 return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
3011}
3012static inline HRESULT IWICBitmapDecoderInfo_DoesSupportChromaKey(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportChromaKey) {
3013 return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
3014}
3015static inline HRESULT IWICBitmapDecoderInfo_DoesSupportLossless(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportLossless) {
3016 return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
3017}
3018static inline HRESULT IWICBitmapDecoderInfo_DoesSupportMultiframe(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportMultiframe) {
3019 return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
3020}
3021static inline HRESULT IWICBitmapDecoderInfo_MatchesMimeType(IWICBitmapDecoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
3022 return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
3023}
3024/*** IWICBitmapDecoderInfo methods ***/
3025static inline HRESULT IWICBitmapDecoderInfo_GetPatterns(IWICBitmapDecoderInfo* This,UINT cbSizePatterns,WICBitmapPattern *pPatterns,UINT *pcPatterns,UINT *pcbPatternsActual) {
3026 return This->lpVtbl->GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual);
3027}
3028static inline HRESULT IWICBitmapDecoderInfo_MatchesPattern(IWICBitmapDecoderInfo* This,IStream *pIStream,WINBOOL *pfMatches) {
3029 return This->lpVtbl->MatchesPattern(This,pIStream,pfMatches);
3030}
3031static inline HRESULT IWICBitmapDecoderInfo_CreateInstance(IWICBitmapDecoderInfo* This,IWICBitmapDecoder **ppIBitmapDecoder) {
3032 return This->lpVtbl->CreateInstance(This,ppIBitmapDecoder);
3033}
3034#endif
3035#endif
3036
3037#endif
3038
3039
3040#endif /* __IWICBitmapDecoderInfo_INTERFACE_DEFINED__ */
3041
3042/*****************************************************************************
3043 * IWICBitmapDecoder interface
3044 */
3045#ifndef __IWICBitmapDecoder_INTERFACE_DEFINED__
3046#define __IWICBitmapDecoder_INTERFACE_DEFINED__
3047
3048DEFINE_GUID(IID_IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf);
3049#if defined(__cplusplus) && !defined(CINTERFACE)
3050MIDL_INTERFACE("9edde9e7-8dee-47ea-99df-e6faf2ed44bf")
3051IWICBitmapDecoder : public IUnknown
3052{
3053 virtual HRESULT STDMETHODCALLTYPE QueryCapability(
3054 IStream *pIStream,
3055 DWORD *pdwCapability) = 0;
3056
3057 virtual HRESULT STDMETHODCALLTYPE Initialize(
3058 IStream *pIStream,
3059 WICDecodeOptions cacheOptions) = 0;
3060
3061 virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
3062 GUID *pguidContainerFormat) = 0;
3063
3064 virtual HRESULT STDMETHODCALLTYPE GetDecoderInfo(
3065 IWICBitmapDecoderInfo **ppIDecoderInfo) = 0;
3066
3067 virtual HRESULT STDMETHODCALLTYPE CopyPalette(
3068 IWICPalette *pIPalette) = 0;
3069
3070 virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryReader(
3071 IWICMetadataQueryReader **ppIMetadataQueryReader) = 0;
3072
3073 virtual HRESULT STDMETHODCALLTYPE GetPreview(
3074 IWICBitmapSource **ppIBitmapSource) = 0;
3075
3076 virtual HRESULT STDMETHODCALLTYPE GetColorContexts(
3077 UINT cCount,
3078 IWICColorContext **ppIColorContexts,
3079 UINT *pcActualCount) = 0;
3080
3081 virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
3082 IWICBitmapSource **ppIThumbnail) = 0;
3083
3084 virtual HRESULT STDMETHODCALLTYPE GetFrameCount(
3085 UINT *pCount) = 0;
3086
3087 virtual HRESULT STDMETHODCALLTYPE GetFrame(
3088 UINT index,
3089 IWICBitmapFrameDecode **ppIBitmapFrame) = 0;
3090
3091};
3092#ifdef __CRT_UUID_DECL
3093__CRT_UUID_DECL(IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf)
3094#endif
3095#else
3096typedef struct IWICBitmapDecoderVtbl {
3097 BEGIN_INTERFACE
3098
3099 /*** IUnknown methods ***/
3100 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3101 IWICBitmapDecoder *This,
3102 REFIID riid,
3103 void **ppvObject);
3104
3105 ULONG (STDMETHODCALLTYPE *AddRef)(
3106 IWICBitmapDecoder *This);
3107
3108 ULONG (STDMETHODCALLTYPE *Release)(
3109 IWICBitmapDecoder *This);
3110
3111 /*** IWICBitmapDecoder methods ***/
3112 HRESULT (STDMETHODCALLTYPE *QueryCapability)(
3113 IWICBitmapDecoder *This,
3114 IStream *pIStream,
3115 DWORD *pdwCapability);
3116
3117 HRESULT (STDMETHODCALLTYPE *Initialize)(
3118 IWICBitmapDecoder *This,
3119 IStream *pIStream,
3120 WICDecodeOptions cacheOptions);
3121
3122 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
3123 IWICBitmapDecoder *This,
3124 GUID *pguidContainerFormat);
3125
3126 HRESULT (STDMETHODCALLTYPE *GetDecoderInfo)(
3127 IWICBitmapDecoder *This,
3128 IWICBitmapDecoderInfo **ppIDecoderInfo);
3129
3130 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
3131 IWICBitmapDecoder *This,
3132 IWICPalette *pIPalette);
3133
3134 HRESULT (STDMETHODCALLTYPE *GetMetadataQueryReader)(
3135 IWICBitmapDecoder *This,
3136 IWICMetadataQueryReader **ppIMetadataQueryReader);
3137
3138 HRESULT (STDMETHODCALLTYPE *GetPreview)(
3139 IWICBitmapDecoder *This,
3140 IWICBitmapSource **ppIBitmapSource);
3141
3142 HRESULT (STDMETHODCALLTYPE *GetColorContexts)(
3143 IWICBitmapDecoder *This,
3144 UINT cCount,
3145 IWICColorContext **ppIColorContexts,
3146 UINT *pcActualCount);
3147
3148 HRESULT (STDMETHODCALLTYPE *GetThumbnail)(
3149 IWICBitmapDecoder *This,
3150 IWICBitmapSource **ppIThumbnail);
3151
3152 HRESULT (STDMETHODCALLTYPE *GetFrameCount)(
3153 IWICBitmapDecoder *This,
3154 UINT *pCount);
3155
3156 HRESULT (STDMETHODCALLTYPE *GetFrame)(
3157 IWICBitmapDecoder *This,
3158 UINT index,
3159 IWICBitmapFrameDecode **ppIBitmapFrame);
3160
3161 END_INTERFACE
3162} IWICBitmapDecoderVtbl;
3163
3164interface IWICBitmapDecoder {
3165 CONST_VTBL IWICBitmapDecoderVtbl* lpVtbl;
3166};
3167
3168#ifdef COBJMACROS
3169#ifndef WIDL_C_INLINE_WRAPPERS
3170/*** IUnknown methods ***/
3171#define IWICBitmapDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3172#define IWICBitmapDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
3173#define IWICBitmapDecoder_Release(This) (This)->lpVtbl->Release(This)
3174/*** IWICBitmapDecoder methods ***/
3175#define IWICBitmapDecoder_QueryCapability(This,pIStream,pdwCapability) (This)->lpVtbl->QueryCapability(This,pIStream,pdwCapability)
3176#define IWICBitmapDecoder_Initialize(This,pIStream,cacheOptions) (This)->lpVtbl->Initialize(This,pIStream,cacheOptions)
3177#define IWICBitmapDecoder_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
3178#define IWICBitmapDecoder_GetDecoderInfo(This,ppIDecoderInfo) (This)->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo)
3179#define IWICBitmapDecoder_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
3180#define IWICBitmapDecoder_GetMetadataQueryReader(This,ppIMetadataQueryReader) (This)->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader)
3181#define IWICBitmapDecoder_GetPreview(This,ppIBitmapSource) (This)->lpVtbl->GetPreview(This,ppIBitmapSource)
3182#define IWICBitmapDecoder_GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) (This)->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount)
3183#define IWICBitmapDecoder_GetThumbnail(This,ppIThumbnail) (This)->lpVtbl->GetThumbnail(This,ppIThumbnail)
3184#define IWICBitmapDecoder_GetFrameCount(This,pCount) (This)->lpVtbl->GetFrameCount(This,pCount)
3185#define IWICBitmapDecoder_GetFrame(This,index,ppIBitmapFrame) (This)->lpVtbl->GetFrame(This,index,ppIBitmapFrame)
3186#else
3187/*** IUnknown methods ***/
3188static inline HRESULT IWICBitmapDecoder_QueryInterface(IWICBitmapDecoder* This,REFIID riid,void **ppvObject) {
3189 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3190}
3191static inline ULONG IWICBitmapDecoder_AddRef(IWICBitmapDecoder* This) {
3192 return This->lpVtbl->AddRef(This);
3193}
3194static inline ULONG IWICBitmapDecoder_Release(IWICBitmapDecoder* This) {
3195 return This->lpVtbl->Release(This);
3196}
3197/*** IWICBitmapDecoder methods ***/
3198static inline HRESULT IWICBitmapDecoder_QueryCapability(IWICBitmapDecoder* This,IStream *pIStream,DWORD *pdwCapability) {
3199 return This->lpVtbl->QueryCapability(This,pIStream,pdwCapability);
3200}
3201static inline HRESULT IWICBitmapDecoder_Initialize(IWICBitmapDecoder* This,IStream *pIStream,WICDecodeOptions cacheOptions) {
3202 return This->lpVtbl->Initialize(This,pIStream,cacheOptions);
3203}
3204static inline HRESULT IWICBitmapDecoder_GetContainerFormat(IWICBitmapDecoder* This,GUID *pguidContainerFormat) {
3205 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
3206}
3207static inline HRESULT IWICBitmapDecoder_GetDecoderInfo(IWICBitmapDecoder* This,IWICBitmapDecoderInfo **ppIDecoderInfo) {
3208 return This->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo);
3209}
3210static inline HRESULT IWICBitmapDecoder_CopyPalette(IWICBitmapDecoder* This,IWICPalette *pIPalette) {
3211 return This->lpVtbl->CopyPalette(This,pIPalette);
3212}
3213static inline HRESULT IWICBitmapDecoder_GetMetadataQueryReader(IWICBitmapDecoder* This,IWICMetadataQueryReader **ppIMetadataQueryReader) {
3214 return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader);
3215}
3216static inline HRESULT IWICBitmapDecoder_GetPreview(IWICBitmapDecoder* This,IWICBitmapSource **ppIBitmapSource) {
3217 return This->lpVtbl->GetPreview(This,ppIBitmapSource);
3218}
3219static inline HRESULT IWICBitmapDecoder_GetColorContexts(IWICBitmapDecoder* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) {
3220 return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount);
3221}
3222static inline HRESULT IWICBitmapDecoder_GetThumbnail(IWICBitmapDecoder* This,IWICBitmapSource **ppIThumbnail) {
3223 return This->lpVtbl->GetThumbnail(This,ppIThumbnail);
3224}
3225static inline HRESULT IWICBitmapDecoder_GetFrameCount(IWICBitmapDecoder* This,UINT *pCount) {
3226 return This->lpVtbl->GetFrameCount(This,pCount);
3227}
3228static inline HRESULT IWICBitmapDecoder_GetFrame(IWICBitmapDecoder* This,UINT index,IWICBitmapFrameDecode **ppIBitmapFrame) {
3229 return This->lpVtbl->GetFrame(This,index,ppIBitmapFrame);
3230}
3231#endif
3232#endif
3233
3234#endif
3235
3236
3237#endif /* __IWICBitmapDecoder_INTERFACE_DEFINED__ */
3238
3239/*****************************************************************************
3240 * IWICBitmapFrameEncode interface
3241 */
3242#ifndef __IWICBitmapFrameEncode_INTERFACE_DEFINED__
3243#define __IWICBitmapFrameEncode_INTERFACE_DEFINED__
3244
3245DEFINE_GUID(IID_IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
3246#if defined(__cplusplus) && !defined(CINTERFACE)
3247MIDL_INTERFACE("00000105-a8f2-4877-ba0a-fd2b6645fb94")
3248IWICBitmapFrameEncode : public IUnknown
3249{
3250 virtual HRESULT STDMETHODCALLTYPE Initialize(
3251 IPropertyBag2 *pIEncoderOptions) = 0;
3252
3253 virtual HRESULT STDMETHODCALLTYPE SetSize(
3254 UINT uiWidth,
3255 UINT uiHeight) = 0;
3256
3257 virtual HRESULT STDMETHODCALLTYPE SetResolution(
3258 double dpiX,
3259 double dpiY) = 0;
3260
3261 virtual HRESULT STDMETHODCALLTYPE SetPixelFormat(
3262 WICPixelFormatGUID *pPixelFormat) = 0;
3263
3264 virtual HRESULT STDMETHODCALLTYPE SetColorContexts(
3265 UINT cCount,
3266 IWICColorContext **ppIColorContext) = 0;
3267
3268 virtual HRESULT STDMETHODCALLTYPE SetPalette(
3269 IWICPalette *pIPalette) = 0;
3270
3271 virtual HRESULT STDMETHODCALLTYPE SetThumbnail(
3272 IWICBitmapSource *pIThumbnail) = 0;
3273
3274 virtual HRESULT STDMETHODCALLTYPE WritePixels(
3275 UINT lineCount,
3276 UINT cbStride,
3277 UINT cbBufferSize,
3278 BYTE *pbPixels) = 0;
3279
3280 virtual HRESULT STDMETHODCALLTYPE WriteSource(
3281 IWICBitmapSource *pIBitmapSource,
3282 WICRect *prc) = 0;
3283
3284 virtual HRESULT STDMETHODCALLTYPE Commit(
3285 ) = 0;
3286
3287 virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter(
3288 IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0;
3289
3290};
3291#ifdef __CRT_UUID_DECL
3292__CRT_UUID_DECL(IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
3293#endif
3294#else
3295typedef struct IWICBitmapFrameEncodeVtbl {
3296 BEGIN_INTERFACE
3297
3298 /*** IUnknown methods ***/
3299 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3300 IWICBitmapFrameEncode *This,
3301 REFIID riid,
3302 void **ppvObject);
3303
3304 ULONG (STDMETHODCALLTYPE *AddRef)(
3305 IWICBitmapFrameEncode *This);
3306
3307 ULONG (STDMETHODCALLTYPE *Release)(
3308 IWICBitmapFrameEncode *This);
3309
3310 /*** IWICBitmapFrameEncode methods ***/
3311 HRESULT (STDMETHODCALLTYPE *Initialize)(
3312 IWICBitmapFrameEncode *This,
3313 IPropertyBag2 *pIEncoderOptions);
3314
3315 HRESULT (STDMETHODCALLTYPE *SetSize)(
3316 IWICBitmapFrameEncode *This,
3317 UINT uiWidth,
3318 UINT uiHeight);
3319
3320 HRESULT (STDMETHODCALLTYPE *SetResolution)(
3321 IWICBitmapFrameEncode *This,
3322 double dpiX,
3323 double dpiY);
3324
3325 HRESULT (STDMETHODCALLTYPE *SetPixelFormat)(
3326 IWICBitmapFrameEncode *This,
3327 WICPixelFormatGUID *pPixelFormat);
3328
3329 HRESULT (STDMETHODCALLTYPE *SetColorContexts)(
3330 IWICBitmapFrameEncode *This,
3331 UINT cCount,
3332 IWICColorContext **ppIColorContext);
3333
3334 HRESULT (STDMETHODCALLTYPE *SetPalette)(
3335 IWICBitmapFrameEncode *This,
3336 IWICPalette *pIPalette);
3337
3338 HRESULT (STDMETHODCALLTYPE *SetThumbnail)(
3339 IWICBitmapFrameEncode *This,
3340 IWICBitmapSource *pIThumbnail);
3341
3342 HRESULT (STDMETHODCALLTYPE *WritePixels)(
3343 IWICBitmapFrameEncode *This,
3344 UINT lineCount,
3345 UINT cbStride,
3346 UINT cbBufferSize,
3347 BYTE *pbPixels);
3348
3349 HRESULT (STDMETHODCALLTYPE *WriteSource)(
3350 IWICBitmapFrameEncode *This,
3351 IWICBitmapSource *pIBitmapSource,
3352 WICRect *prc);
3353
3354 HRESULT (STDMETHODCALLTYPE *Commit)(
3355 IWICBitmapFrameEncode *This);
3356
3357 HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)(
3358 IWICBitmapFrameEncode *This,
3359 IWICMetadataQueryWriter **ppIMetadataQueryWriter);
3360
3361 END_INTERFACE
3362} IWICBitmapFrameEncodeVtbl;
3363
3364interface IWICBitmapFrameEncode {
3365 CONST_VTBL IWICBitmapFrameEncodeVtbl* lpVtbl;
3366};
3367
3368#ifdef COBJMACROS
3369#ifndef WIDL_C_INLINE_WRAPPERS
3370/*** IUnknown methods ***/
3371#define IWICBitmapFrameEncode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3372#define IWICBitmapFrameEncode_AddRef(This) (This)->lpVtbl->AddRef(This)
3373#define IWICBitmapFrameEncode_Release(This) (This)->lpVtbl->Release(This)
3374/*** IWICBitmapFrameEncode methods ***/
3375#define IWICBitmapFrameEncode_Initialize(This,pIEncoderOptions) (This)->lpVtbl->Initialize(This,pIEncoderOptions)
3376#define IWICBitmapFrameEncode_SetSize(This,uiWidth,uiHeight) (This)->lpVtbl->SetSize(This,uiWidth,uiHeight)
3377#define IWICBitmapFrameEncode_SetResolution(This,dpiX,dpiY) (This)->lpVtbl->SetResolution(This,dpiX,dpiY)
3378#define IWICBitmapFrameEncode_SetPixelFormat(This,pPixelFormat) (This)->lpVtbl->SetPixelFormat(This,pPixelFormat)
3379#define IWICBitmapFrameEncode_SetColorContexts(This,cCount,ppIColorContext) (This)->lpVtbl->SetColorContexts(This,cCount,ppIColorContext)
3380#define IWICBitmapFrameEncode_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette)
3381#define IWICBitmapFrameEncode_SetThumbnail(This,pIThumbnail) (This)->lpVtbl->SetThumbnail(This,pIThumbnail)
3382#define IWICBitmapFrameEncode_WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels) (This)->lpVtbl->WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels)
3383#define IWICBitmapFrameEncode_WriteSource(This,pIBitmapSource,prc) (This)->lpVtbl->WriteSource(This,pIBitmapSource,prc)
3384#define IWICBitmapFrameEncode_Commit(This) (This)->lpVtbl->Commit(This)
3385#define IWICBitmapFrameEncode_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter)
3386#else
3387/*** IUnknown methods ***/
3388static inline HRESULT IWICBitmapFrameEncode_QueryInterface(IWICBitmapFrameEncode* This,REFIID riid,void **ppvObject) {
3389 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3390}
3391static inline ULONG IWICBitmapFrameEncode_AddRef(IWICBitmapFrameEncode* This) {
3392 return This->lpVtbl->AddRef(This);
3393}
3394static inline ULONG IWICBitmapFrameEncode_Release(IWICBitmapFrameEncode* This) {
3395 return This->lpVtbl->Release(This);
3396}
3397/*** IWICBitmapFrameEncode methods ***/
3398static inline HRESULT IWICBitmapFrameEncode_Initialize(IWICBitmapFrameEncode* This,IPropertyBag2 *pIEncoderOptions) {
3399 return This->lpVtbl->Initialize(This,pIEncoderOptions);
3400}
3401static inline HRESULT IWICBitmapFrameEncode_SetSize(IWICBitmapFrameEncode* This,UINT uiWidth,UINT uiHeight) {
3402 return This->lpVtbl->SetSize(This,uiWidth,uiHeight);
3403}
3404static inline HRESULT IWICBitmapFrameEncode_SetResolution(IWICBitmapFrameEncode* This,double dpiX,double dpiY) {
3405 return This->lpVtbl->SetResolution(This,dpiX,dpiY);
3406}
3407static inline HRESULT IWICBitmapFrameEncode_SetPixelFormat(IWICBitmapFrameEncode* This,WICPixelFormatGUID *pPixelFormat) {
3408 return This->lpVtbl->SetPixelFormat(This,pPixelFormat);
3409}
3410static inline HRESULT IWICBitmapFrameEncode_SetColorContexts(IWICBitmapFrameEncode* This,UINT cCount,IWICColorContext **ppIColorContext) {
3411 return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext);
3412}
3413static inline HRESULT IWICBitmapFrameEncode_SetPalette(IWICBitmapFrameEncode* This,IWICPalette *pIPalette) {
3414 return This->lpVtbl->SetPalette(This,pIPalette);
3415}
3416static inline HRESULT IWICBitmapFrameEncode_SetThumbnail(IWICBitmapFrameEncode* This,IWICBitmapSource *pIThumbnail) {
3417 return This->lpVtbl->SetThumbnail(This,pIThumbnail);
3418}
3419static inline HRESULT IWICBitmapFrameEncode_WritePixels(IWICBitmapFrameEncode* This,UINT lineCount,UINT cbStride,UINT cbBufferSize,BYTE *pbPixels) {
3420 return This->lpVtbl->WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels);
3421}
3422static inline HRESULT IWICBitmapFrameEncode_WriteSource(IWICBitmapFrameEncode* This,IWICBitmapSource *pIBitmapSource,WICRect *prc) {
3423 return This->lpVtbl->WriteSource(This,pIBitmapSource,prc);
3424}
3425static inline HRESULT IWICBitmapFrameEncode_Commit(IWICBitmapFrameEncode* This) {
3426 return This->lpVtbl->Commit(This);
3427}
3428static inline HRESULT IWICBitmapFrameEncode_GetMetadataQueryWriter(IWICBitmapFrameEncode* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
3429 return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
3430}
3431#endif
3432#endif
3433
3434#endif
3435
3436
3437#endif /* __IWICBitmapFrameEncode_INTERFACE_DEFINED__ */
3438
3439#ifndef __IWICBitmapEncoder_FWD_DEFINED__
3440#define __IWICBitmapEncoder_FWD_DEFINED__
3441typedef interface IWICBitmapEncoder IWICBitmapEncoder;
3442#ifdef __cplusplus
3443interface IWICBitmapEncoder;
3444#endif /* __cplusplus */
3445#endif
3446
3447/*****************************************************************************
3448 * IWICBitmapEncoderInfo interface
3449 */
3450#ifndef __IWICBitmapEncoderInfo_INTERFACE_DEFINED__
3451#define __IWICBitmapEncoderInfo_INTERFACE_DEFINED__
3452
3453DEFINE_GUID(IID_IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb);
3454#if defined(__cplusplus) && !defined(CINTERFACE)
3455MIDL_INTERFACE("94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb")
3456IWICBitmapEncoderInfo : public IWICBitmapCodecInfo
3457{
3458 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
3459 IWICBitmapEncoder **ppIBitmapEncoder) = 0;
3460
3461};
3462#ifdef __CRT_UUID_DECL
3463__CRT_UUID_DECL(IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb)
3464#endif
3465#else
3466typedef struct IWICBitmapEncoderInfoVtbl {
3467 BEGIN_INTERFACE
3468
3469 /*** IUnknown methods ***/
3470 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3471 IWICBitmapEncoderInfo *This,
3472 REFIID riid,
3473 void **ppvObject);
3474
3475 ULONG (STDMETHODCALLTYPE *AddRef)(
3476 IWICBitmapEncoderInfo *This);
3477
3478 ULONG (STDMETHODCALLTYPE *Release)(
3479 IWICBitmapEncoderInfo *This);
3480
3481 /*** IWICComponentInfo methods ***/
3482 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
3483 IWICBitmapEncoderInfo *This,
3484 WICComponentType *pType);
3485
3486 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
3487 IWICBitmapEncoderInfo *This,
3488 CLSID *pclsid);
3489
3490 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
3491 IWICBitmapEncoderInfo *This,
3492 DWORD *pStatus);
3493
3494 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
3495 IWICBitmapEncoderInfo *This,
3496 UINT cchAuthor,
3497 WCHAR *wzAuthor,
3498 UINT *pcchActual);
3499
3500 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
3501 IWICBitmapEncoderInfo *This,
3502 GUID *pguidVendor);
3503
3504 HRESULT (STDMETHODCALLTYPE *GetVersion)(
3505 IWICBitmapEncoderInfo *This,
3506 UINT cchVersion,
3507 WCHAR *wzVersion,
3508 UINT *pcchActual);
3509
3510 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
3511 IWICBitmapEncoderInfo *This,
3512 UINT cchSpecVersion,
3513 WCHAR *wzSpecVersion,
3514 UINT *pcchActual);
3515
3516 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
3517 IWICBitmapEncoderInfo *This,
3518 UINT cchFriendlyName,
3519 WCHAR *wzFriendlyName,
3520 UINT *pcchActual);
3521
3522 /*** IWICBitmapCodecInfo methods ***/
3523 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
3524 IWICBitmapEncoderInfo *This,
3525 GUID *pguidContainerFormat);
3526
3527 HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
3528 IWICBitmapEncoderInfo *This,
3529 UINT cFormats,
3530 GUID *pguidPixelFormats,
3531 UINT *pcActual);
3532
3533 HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)(
3534 IWICBitmapEncoderInfo *This,
3535 UINT cchColorManagementVersion,
3536 WCHAR *wzColorManagementVersion,
3537 UINT *pcchActual);
3538
3539 HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
3540 IWICBitmapEncoderInfo *This,
3541 UINT cchDeviceManufacturer,
3542 WCHAR *wzDeviceManufacturer,
3543 UINT *pcchActual);
3544
3545 HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
3546 IWICBitmapEncoderInfo *This,
3547 UINT cchDeviceModels,
3548 WCHAR *wzDeviceModels,
3549 UINT *pcchActual);
3550
3551 HRESULT (STDMETHODCALLTYPE *GetMimeTypes)(
3552 IWICBitmapEncoderInfo *This,
3553 UINT cchMimeTypes,
3554 WCHAR *wzMimeTypes,
3555 UINT *pcchActual);
3556
3557 HRESULT (STDMETHODCALLTYPE *GetFileExtensions)(
3558 IWICBitmapEncoderInfo *This,
3559 UINT cchFileExtensions,
3560 WCHAR *wzFileExtensions,
3561 UINT *pcchActual);
3562
3563 HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)(
3564 IWICBitmapEncoderInfo *This,
3565 WINBOOL *pfSupportAnimation);
3566
3567 HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)(
3568 IWICBitmapEncoderInfo *This,
3569 WINBOOL *pfSupportChromaKey);
3570
3571 HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)(
3572 IWICBitmapEncoderInfo *This,
3573 WINBOOL *pfSupportLossless);
3574
3575 HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)(
3576 IWICBitmapEncoderInfo *This,
3577 WINBOOL *pfSupportMultiframe);
3578
3579 HRESULT (STDMETHODCALLTYPE *MatchesMimeType)(
3580 IWICBitmapEncoderInfo *This,
3581 LPCWSTR wzMimeType,
3582 WINBOOL *pfMatches);
3583
3584 /*** IWICBitmapEncoderInfo methods ***/
3585 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
3586 IWICBitmapEncoderInfo *This,
3587 IWICBitmapEncoder **ppIBitmapEncoder);
3588
3589 END_INTERFACE
3590} IWICBitmapEncoderInfoVtbl;
3591
3592interface IWICBitmapEncoderInfo {
3593 CONST_VTBL IWICBitmapEncoderInfoVtbl* lpVtbl;
3594};
3595
3596#ifdef COBJMACROS
3597#ifndef WIDL_C_INLINE_WRAPPERS
3598/*** IUnknown methods ***/
3599#define IWICBitmapEncoderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3600#define IWICBitmapEncoderInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
3601#define IWICBitmapEncoderInfo_Release(This) (This)->lpVtbl->Release(This)
3602/*** IWICComponentInfo methods ***/
3603#define IWICBitmapEncoderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
3604#define IWICBitmapEncoderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
3605#define IWICBitmapEncoderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
3606#define IWICBitmapEncoderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
3607#define IWICBitmapEncoderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
3608#define IWICBitmapEncoderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
3609#define IWICBitmapEncoderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
3610#define IWICBitmapEncoderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
3611/*** IWICBitmapCodecInfo methods ***/
3612#define IWICBitmapEncoderInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
3613#define IWICBitmapEncoderInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual)
3614#define IWICBitmapEncoderInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual)
3615#define IWICBitmapEncoderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
3616#define IWICBitmapEncoderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
3617#define IWICBitmapEncoderInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual)
3618#define IWICBitmapEncoderInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual)
3619#define IWICBitmapEncoderInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation)
3620#define IWICBitmapEncoderInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey)
3621#define IWICBitmapEncoderInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless)
3622#define IWICBitmapEncoderInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe)
3623#define IWICBitmapEncoderInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches)
3624/*** IWICBitmapEncoderInfo methods ***/
3625#define IWICBitmapEncoderInfo_CreateInstance(This,ppIBitmapEncoder) (This)->lpVtbl->CreateInstance(This,ppIBitmapEncoder)
3626#else
3627/*** IUnknown methods ***/
3628static inline HRESULT IWICBitmapEncoderInfo_QueryInterface(IWICBitmapEncoderInfo* This,REFIID riid,void **ppvObject) {
3629 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3630}
3631static inline ULONG IWICBitmapEncoderInfo_AddRef(IWICBitmapEncoderInfo* This) {
3632 return This->lpVtbl->AddRef(This);
3633}
3634static inline ULONG IWICBitmapEncoderInfo_Release(IWICBitmapEncoderInfo* This) {
3635 return This->lpVtbl->Release(This);
3636}
3637/*** IWICComponentInfo methods ***/
3638static inline HRESULT IWICBitmapEncoderInfo_GetComponentType(IWICBitmapEncoderInfo* This,WICComponentType *pType) {
3639 return This->lpVtbl->GetComponentType(This,pType);
3640}
3641static inline HRESULT IWICBitmapEncoderInfo_GetCLSID(IWICBitmapEncoderInfo* This,CLSID *pclsid) {
3642 return This->lpVtbl->GetCLSID(This,pclsid);
3643}
3644static inline HRESULT IWICBitmapEncoderInfo_GetSigningStatus(IWICBitmapEncoderInfo* This,DWORD *pStatus) {
3645 return This->lpVtbl->GetSigningStatus(This,pStatus);
3646}
3647static inline HRESULT IWICBitmapEncoderInfo_GetAuthor(IWICBitmapEncoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
3648 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
3649}
3650static inline HRESULT IWICBitmapEncoderInfo_GetVendorGUID(IWICBitmapEncoderInfo* This,GUID *pguidVendor) {
3651 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
3652}
3653static inline HRESULT IWICBitmapEncoderInfo_GetVersion(IWICBitmapEncoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
3654 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
3655}
3656static inline HRESULT IWICBitmapEncoderInfo_GetSpecVersion(IWICBitmapEncoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
3657 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
3658}
3659static inline HRESULT IWICBitmapEncoderInfo_GetFriendlyName(IWICBitmapEncoderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
3660 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
3661}
3662/*** IWICBitmapCodecInfo methods ***/
3663static inline HRESULT IWICBitmapEncoderInfo_GetContainerFormat(IWICBitmapEncoderInfo* This,GUID *pguidContainerFormat) {
3664 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
3665}
3666static inline HRESULT IWICBitmapEncoderInfo_GetPixelFormats(IWICBitmapEncoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
3667 return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
3668}
3669static inline HRESULT IWICBitmapEncoderInfo_GetColorManagementVersion(IWICBitmapEncoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
3670 return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
3671}
3672static inline HRESULT IWICBitmapEncoderInfo_GetDeviceManufacturer(IWICBitmapEncoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
3673 return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
3674}
3675static inline HRESULT IWICBitmapEncoderInfo_GetDeviceModels(IWICBitmapEncoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
3676 return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
3677}
3678static inline HRESULT IWICBitmapEncoderInfo_GetMimeTypes(IWICBitmapEncoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
3679 return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
3680}
3681static inline HRESULT IWICBitmapEncoderInfo_GetFileExtensions(IWICBitmapEncoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
3682 return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
3683}
3684static inline HRESULT IWICBitmapEncoderInfo_DoesSupportAnimation(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportAnimation) {
3685 return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
3686}
3687static inline HRESULT IWICBitmapEncoderInfo_DoesSupportChromaKey(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportChromaKey) {
3688 return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
3689}
3690static inline HRESULT IWICBitmapEncoderInfo_DoesSupportLossless(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportLossless) {
3691 return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
3692}
3693static inline HRESULT IWICBitmapEncoderInfo_DoesSupportMultiframe(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportMultiframe) {
3694 return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
3695}
3696static inline HRESULT IWICBitmapEncoderInfo_MatchesMimeType(IWICBitmapEncoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
3697 return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
3698}
3699/*** IWICBitmapEncoderInfo methods ***/
3700static inline HRESULT IWICBitmapEncoderInfo_CreateInstance(IWICBitmapEncoderInfo* This,IWICBitmapEncoder **ppIBitmapEncoder) {
3701 return This->lpVtbl->CreateInstance(This,ppIBitmapEncoder);
3702}
3703#endif
3704#endif
3705
3706#endif
3707
3708
3709#endif /* __IWICBitmapEncoderInfo_INTERFACE_DEFINED__ */
3710
3711/*****************************************************************************
3712 * IWICBitmapEncoder interface
3713 */
3714#ifndef __IWICBitmapEncoder_INTERFACE_DEFINED__
3715#define __IWICBitmapEncoder_INTERFACE_DEFINED__
3716
3717DEFINE_GUID(IID_IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
3718#if defined(__cplusplus) && !defined(CINTERFACE)
3719MIDL_INTERFACE("00000103-a8f2-4877-ba0a-fd2b6645fb94")
3720IWICBitmapEncoder : public IUnknown
3721{
3722 virtual HRESULT STDMETHODCALLTYPE Initialize(
3723 IStream *pIStream,
3724 WICBitmapEncoderCacheOption cacheOption) = 0;
3725
3726 virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
3727 GUID *pguidContainerFormat) = 0;
3728
3729 virtual HRESULT STDMETHODCALLTYPE GetEncoderInfo(
3730 IWICBitmapEncoderInfo **ppIEncoderInfo) = 0;
3731
3732 virtual HRESULT STDMETHODCALLTYPE SetColorContexts(
3733 UINT cCount,
3734 IWICColorContext **ppIColorContext) = 0;
3735
3736 virtual HRESULT STDMETHODCALLTYPE SetPalette(
3737 IWICPalette *pIPalette) = 0;
3738
3739 virtual HRESULT STDMETHODCALLTYPE SetThumbnail(
3740 IWICBitmapSource *pIThumbnail) = 0;
3741
3742 virtual HRESULT STDMETHODCALLTYPE SetPreview(
3743 IWICBitmapSource *pIPreview) = 0;
3744
3745 virtual HRESULT STDMETHODCALLTYPE CreateNewFrame(
3746 IWICBitmapFrameEncode **ppIFrameEncode,
3747 IPropertyBag2 **ppIEncoderOptions) = 0;
3748
3749 virtual HRESULT STDMETHODCALLTYPE Commit(
3750 ) = 0;
3751
3752 virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter(
3753 IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0;
3754
3755};
3756#ifdef __CRT_UUID_DECL
3757__CRT_UUID_DECL(IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
3758#endif
3759#else
3760typedef struct IWICBitmapEncoderVtbl {
3761 BEGIN_INTERFACE
3762
3763 /*** IUnknown methods ***/
3764 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3765 IWICBitmapEncoder *This,
3766 REFIID riid,
3767 void **ppvObject);
3768
3769 ULONG (STDMETHODCALLTYPE *AddRef)(
3770 IWICBitmapEncoder *This);
3771
3772 ULONG (STDMETHODCALLTYPE *Release)(
3773 IWICBitmapEncoder *This);
3774
3775 /*** IWICBitmapEncoder methods ***/
3776 HRESULT (STDMETHODCALLTYPE *Initialize)(
3777 IWICBitmapEncoder *This,
3778 IStream *pIStream,
3779 WICBitmapEncoderCacheOption cacheOption);
3780
3781 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
3782 IWICBitmapEncoder *This,
3783 GUID *pguidContainerFormat);
3784
3785 HRESULT (STDMETHODCALLTYPE *GetEncoderInfo)(
3786 IWICBitmapEncoder *This,
3787 IWICBitmapEncoderInfo **ppIEncoderInfo);
3788
3789 HRESULT (STDMETHODCALLTYPE *SetColorContexts)(
3790 IWICBitmapEncoder *This,
3791 UINT cCount,
3792 IWICColorContext **ppIColorContext);
3793
3794 HRESULT (STDMETHODCALLTYPE *SetPalette)(
3795 IWICBitmapEncoder *This,
3796 IWICPalette *pIPalette);
3797
3798 HRESULT (STDMETHODCALLTYPE *SetThumbnail)(
3799 IWICBitmapEncoder *This,
3800 IWICBitmapSource *pIThumbnail);
3801
3802 HRESULT (STDMETHODCALLTYPE *SetPreview)(
3803 IWICBitmapEncoder *This,
3804 IWICBitmapSource *pIPreview);
3805
3806 HRESULT (STDMETHODCALLTYPE *CreateNewFrame)(
3807 IWICBitmapEncoder *This,
3808 IWICBitmapFrameEncode **ppIFrameEncode,
3809 IPropertyBag2 **ppIEncoderOptions);
3810
3811 HRESULT (STDMETHODCALLTYPE *Commit)(
3812 IWICBitmapEncoder *This);
3813
3814 HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)(
3815 IWICBitmapEncoder *This,
3816 IWICMetadataQueryWriter **ppIMetadataQueryWriter);
3817
3818 END_INTERFACE
3819} IWICBitmapEncoderVtbl;
3820
3821interface IWICBitmapEncoder {
3822 CONST_VTBL IWICBitmapEncoderVtbl* lpVtbl;
3823};
3824
3825#ifdef COBJMACROS
3826#ifndef WIDL_C_INLINE_WRAPPERS
3827/*** IUnknown methods ***/
3828#define IWICBitmapEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3829#define IWICBitmapEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
3830#define IWICBitmapEncoder_Release(This) (This)->lpVtbl->Release(This)
3831/*** IWICBitmapEncoder methods ***/
3832#define IWICBitmapEncoder_Initialize(This,pIStream,cacheOption) (This)->lpVtbl->Initialize(This,pIStream,cacheOption)
3833#define IWICBitmapEncoder_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
3834#define IWICBitmapEncoder_GetEncoderInfo(This,ppIEncoderInfo) (This)->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo)
3835#define IWICBitmapEncoder_SetColorContexts(This,cCount,ppIColorContext) (This)->lpVtbl->SetColorContexts(This,cCount,ppIColorContext)
3836#define IWICBitmapEncoder_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette)
3837#define IWICBitmapEncoder_SetThumbnail(This,pIThumbnail) (This)->lpVtbl->SetThumbnail(This,pIThumbnail)
3838#define IWICBitmapEncoder_SetPreview(This,pIPreview) (This)->lpVtbl->SetPreview(This,pIPreview)
3839#define IWICBitmapEncoder_CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions) (This)->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions)
3840#define IWICBitmapEncoder_Commit(This) (This)->lpVtbl->Commit(This)
3841#define IWICBitmapEncoder_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter)
3842#else
3843/*** IUnknown methods ***/
3844static inline HRESULT IWICBitmapEncoder_QueryInterface(IWICBitmapEncoder* This,REFIID riid,void **ppvObject) {
3845 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3846}
3847static inline ULONG IWICBitmapEncoder_AddRef(IWICBitmapEncoder* This) {
3848 return This->lpVtbl->AddRef(This);
3849}
3850static inline ULONG IWICBitmapEncoder_Release(IWICBitmapEncoder* This) {
3851 return This->lpVtbl->Release(This);
3852}
3853/*** IWICBitmapEncoder methods ***/
3854static inline HRESULT IWICBitmapEncoder_Initialize(IWICBitmapEncoder* This,IStream *pIStream,WICBitmapEncoderCacheOption cacheOption) {
3855 return This->lpVtbl->Initialize(This,pIStream,cacheOption);
3856}
3857static inline HRESULT IWICBitmapEncoder_GetContainerFormat(IWICBitmapEncoder* This,GUID *pguidContainerFormat) {
3858 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
3859}
3860static inline HRESULT IWICBitmapEncoder_GetEncoderInfo(IWICBitmapEncoder* This,IWICBitmapEncoderInfo **ppIEncoderInfo) {
3861 return This->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo);
3862}
3863static inline HRESULT IWICBitmapEncoder_SetColorContexts(IWICBitmapEncoder* This,UINT cCount,IWICColorContext **ppIColorContext) {
3864 return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext);
3865}
3866static inline HRESULT IWICBitmapEncoder_SetPalette(IWICBitmapEncoder* This,IWICPalette *pIPalette) {
3867 return This->lpVtbl->SetPalette(This,pIPalette);
3868}
3869static inline HRESULT IWICBitmapEncoder_SetThumbnail(IWICBitmapEncoder* This,IWICBitmapSource *pIThumbnail) {
3870 return This->lpVtbl->SetThumbnail(This,pIThumbnail);
3871}
3872static inline HRESULT IWICBitmapEncoder_SetPreview(IWICBitmapEncoder* This,IWICBitmapSource *pIPreview) {
3873 return This->lpVtbl->SetPreview(This,pIPreview);
3874}
3875static inline HRESULT IWICBitmapEncoder_CreateNewFrame(IWICBitmapEncoder* This,IWICBitmapFrameEncode **ppIFrameEncode,IPropertyBag2 **ppIEncoderOptions) {
3876 return This->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions);
3877}
3878static inline HRESULT IWICBitmapEncoder_Commit(IWICBitmapEncoder* This) {
3879 return This->lpVtbl->Commit(This);
3880}
3881static inline HRESULT IWICBitmapEncoder_GetMetadataQueryWriter(IWICBitmapEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
3882 return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
3883}
3884#endif
3885#endif
3886
3887#endif
3888
3889
3890#endif /* __IWICBitmapEncoder_INTERFACE_DEFINED__ */
3891
3892/*****************************************************************************
3893 * IWICFormatConverter interface
3894 */
3895#ifndef __IWICFormatConverter_INTERFACE_DEFINED__
3896#define __IWICFormatConverter_INTERFACE_DEFINED__
3897
3898DEFINE_GUID(IID_IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
3899#if defined(__cplusplus) && !defined(CINTERFACE)
3900MIDL_INTERFACE("00000301-a8f2-4877-ba0a-fd2b6645fb94")
3901IWICFormatConverter : public IWICBitmapSource
3902{
3903 virtual HRESULT STDMETHODCALLTYPE Initialize(
3904 IWICBitmapSource *pISource,
3905 REFWICPixelFormatGUID dstFormat,
3906 WICBitmapDitherType dither,
3907 IWICPalette *pIPalette,
3908 double alphaThresholdPercent,
3909 WICBitmapPaletteType paletteTranslate) = 0;
3910
3911 virtual HRESULT STDMETHODCALLTYPE CanConvert(
3912 REFWICPixelFormatGUID srcPixelFormat,
3913 REFWICPixelFormatGUID dstPixelFormat,
3914 WINBOOL *pfCanConvert) = 0;
3915
3916};
3917#ifdef __CRT_UUID_DECL
3918__CRT_UUID_DECL(IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
3919#endif
3920#else
3921typedef struct IWICFormatConverterVtbl {
3922 BEGIN_INTERFACE
3923
3924 /*** IUnknown methods ***/
3925 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3926 IWICFormatConverter *This,
3927 REFIID riid,
3928 void **ppvObject);
3929
3930 ULONG (STDMETHODCALLTYPE *AddRef)(
3931 IWICFormatConverter *This);
3932
3933 ULONG (STDMETHODCALLTYPE *Release)(
3934 IWICFormatConverter *This);
3935
3936 /*** IWICBitmapSource methods ***/
3937 HRESULT (STDMETHODCALLTYPE *GetSize)(
3938 IWICFormatConverter *This,
3939 UINT *puiWidth,
3940 UINT *puiHeight);
3941
3942 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
3943 IWICFormatConverter *This,
3944 WICPixelFormatGUID *pPixelFormat);
3945
3946 HRESULT (STDMETHODCALLTYPE *GetResolution)(
3947 IWICFormatConverter *This,
3948 double *pDpiX,
3949 double *pDpiY);
3950
3951 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
3952 IWICFormatConverter *This,
3953 IWICPalette *pIPalette);
3954
3955 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
3956 IWICFormatConverter *This,
3957 const WICRect *prc,
3958 UINT cbStride,
3959 UINT cbBufferSize,
3960 BYTE *pbBuffer);
3961
3962 /*** IWICFormatConverter methods ***/
3963 HRESULT (STDMETHODCALLTYPE *Initialize)(
3964 IWICFormatConverter *This,
3965 IWICBitmapSource *pISource,
3966 REFWICPixelFormatGUID dstFormat,
3967 WICBitmapDitherType dither,
3968 IWICPalette *pIPalette,
3969 double alphaThresholdPercent,
3970 WICBitmapPaletteType paletteTranslate);
3971
3972 HRESULT (STDMETHODCALLTYPE *CanConvert)(
3973 IWICFormatConverter *This,
3974 REFWICPixelFormatGUID srcPixelFormat,
3975 REFWICPixelFormatGUID dstPixelFormat,
3976 WINBOOL *pfCanConvert);
3977
3978 END_INTERFACE
3979} IWICFormatConverterVtbl;
3980
3981interface IWICFormatConverter {
3982 CONST_VTBL IWICFormatConverterVtbl* lpVtbl;
3983};
3984
3985#ifdef COBJMACROS
3986#ifndef WIDL_C_INLINE_WRAPPERS
3987/*** IUnknown methods ***/
3988#define IWICFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3989#define IWICFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
3990#define IWICFormatConverter_Release(This) (This)->lpVtbl->Release(This)
3991/*** IWICBitmapSource methods ***/
3992#define IWICFormatConverter_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
3993#define IWICFormatConverter_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
3994#define IWICFormatConverter_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
3995#define IWICFormatConverter_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
3996#define IWICFormatConverter_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
3997/*** IWICFormatConverter methods ***/
3998#define IWICFormatConverter_Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate) (This)->lpVtbl->Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate)
3999#define IWICFormatConverter_CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert) (This)->lpVtbl->CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert)
4000#else
4001/*** IUnknown methods ***/
4002static inline HRESULT IWICFormatConverter_QueryInterface(IWICFormatConverter* This,REFIID riid,void **ppvObject) {
4003 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4004}
4005static inline ULONG IWICFormatConverter_AddRef(IWICFormatConverter* This) {
4006 return This->lpVtbl->AddRef(This);
4007}
4008static inline ULONG IWICFormatConverter_Release(IWICFormatConverter* This) {
4009 return This->lpVtbl->Release(This);
4010}
4011/*** IWICBitmapSource methods ***/
4012static inline HRESULT IWICFormatConverter_GetSize(IWICFormatConverter* This,UINT *puiWidth,UINT *puiHeight) {
4013 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
4014}
4015static inline HRESULT IWICFormatConverter_GetPixelFormat(IWICFormatConverter* This,WICPixelFormatGUID *pPixelFormat) {
4016 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
4017}
4018static inline HRESULT IWICFormatConverter_GetResolution(IWICFormatConverter* This,double *pDpiX,double *pDpiY) {
4019 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
4020}
4021static inline HRESULT IWICFormatConverter_CopyPalette(IWICFormatConverter* This,IWICPalette *pIPalette) {
4022 return This->lpVtbl->CopyPalette(This,pIPalette);
4023}
4024static inline HRESULT IWICFormatConverter_CopyPixels(IWICFormatConverter* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
4025 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
4026}
4027/*** IWICFormatConverter methods ***/
4028static inline HRESULT IWICFormatConverter_Initialize(IWICFormatConverter* This,IWICBitmapSource *pISource,REFWICPixelFormatGUID dstFormat,WICBitmapDitherType dither,IWICPalette *pIPalette,double alphaThresholdPercent,WICBitmapPaletteType paletteTranslate) {
4029 return This->lpVtbl->Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate);
4030}
4031static inline HRESULT IWICFormatConverter_CanConvert(IWICFormatConverter* This,REFWICPixelFormatGUID srcPixelFormat,REFWICPixelFormatGUID dstPixelFormat,WINBOOL *pfCanConvert) {
4032 return This->lpVtbl->CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert);
4033}
4034#endif
4035#endif
4036
4037#endif
4038
4039
4040#endif /* __IWICFormatConverter_INTERFACE_DEFINED__ */
4041
4042/*****************************************************************************
4043 * IWICFormatConverterInfo interface
4044 */
4045#ifndef __IWICFormatConverterInfo_INTERFACE_DEFINED__
4046#define __IWICFormatConverterInfo_INTERFACE_DEFINED__
4047
4048DEFINE_GUID(IID_IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f);
4049#if defined(__cplusplus) && !defined(CINTERFACE)
4050MIDL_INTERFACE("9f34fb65-13f4-4f15-bc57-3726b5e53d9f")
4051IWICFormatConverterInfo : public IWICComponentInfo
4052{
4053 virtual HRESULT STDMETHODCALLTYPE GetPixelFormats(
4054 UINT cFormats,
4055 WICPixelFormatGUID *pPixelFormatGUIDs,
4056 UINT *pcActual) = 0;
4057
4058 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
4059 IWICFormatConverter **ppIConverter) = 0;
4060
4061};
4062#ifdef __CRT_UUID_DECL
4063__CRT_UUID_DECL(IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f)
4064#endif
4065#else
4066typedef struct IWICFormatConverterInfoVtbl {
4067 BEGIN_INTERFACE
4068
4069 /*** IUnknown methods ***/
4070 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4071 IWICFormatConverterInfo *This,
4072 REFIID riid,
4073 void **ppvObject);
4074
4075 ULONG (STDMETHODCALLTYPE *AddRef)(
4076 IWICFormatConverterInfo *This);
4077
4078 ULONG (STDMETHODCALLTYPE *Release)(
4079 IWICFormatConverterInfo *This);
4080
4081 /*** IWICComponentInfo methods ***/
4082 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
4083 IWICFormatConverterInfo *This,
4084 WICComponentType *pType);
4085
4086 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
4087 IWICFormatConverterInfo *This,
4088 CLSID *pclsid);
4089
4090 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
4091 IWICFormatConverterInfo *This,
4092 DWORD *pStatus);
4093
4094 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
4095 IWICFormatConverterInfo *This,
4096 UINT cchAuthor,
4097 WCHAR *wzAuthor,
4098 UINT *pcchActual);
4099
4100 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
4101 IWICFormatConverterInfo *This,
4102 GUID *pguidVendor);
4103
4104 HRESULT (STDMETHODCALLTYPE *GetVersion)(
4105 IWICFormatConverterInfo *This,
4106 UINT cchVersion,
4107 WCHAR *wzVersion,
4108 UINT *pcchActual);
4109
4110 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
4111 IWICFormatConverterInfo *This,
4112 UINT cchSpecVersion,
4113 WCHAR *wzSpecVersion,
4114 UINT *pcchActual);
4115
4116 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
4117 IWICFormatConverterInfo *This,
4118 UINT cchFriendlyName,
4119 WCHAR *wzFriendlyName,
4120 UINT *pcchActual);
4121
4122 /*** IWICFormatConverterInfo methods ***/
4123 HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
4124 IWICFormatConverterInfo *This,
4125 UINT cFormats,
4126 WICPixelFormatGUID *pPixelFormatGUIDs,
4127 UINT *pcActual);
4128
4129 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
4130 IWICFormatConverterInfo *This,
4131 IWICFormatConverter **ppIConverter);
4132
4133 END_INTERFACE
4134} IWICFormatConverterInfoVtbl;
4135
4136interface IWICFormatConverterInfo {
4137 CONST_VTBL IWICFormatConverterInfoVtbl* lpVtbl;
4138};
4139
4140#ifdef COBJMACROS
4141#ifndef WIDL_C_INLINE_WRAPPERS
4142/*** IUnknown methods ***/
4143#define IWICFormatConverterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4144#define IWICFormatConverterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4145#define IWICFormatConverterInfo_Release(This) (This)->lpVtbl->Release(This)
4146/*** IWICComponentInfo methods ***/
4147#define IWICFormatConverterInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
4148#define IWICFormatConverterInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
4149#define IWICFormatConverterInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
4150#define IWICFormatConverterInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
4151#define IWICFormatConverterInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
4152#define IWICFormatConverterInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
4153#define IWICFormatConverterInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
4154#define IWICFormatConverterInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
4155/*** IWICFormatConverterInfo methods ***/
4156#define IWICFormatConverterInfo_GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual)
4157#define IWICFormatConverterInfo_CreateInstance(This,ppIConverter) (This)->lpVtbl->CreateInstance(This,ppIConverter)
4158#else
4159/*** IUnknown methods ***/
4160static inline HRESULT IWICFormatConverterInfo_QueryInterface(IWICFormatConverterInfo* This,REFIID riid,void **ppvObject) {
4161 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4162}
4163static inline ULONG IWICFormatConverterInfo_AddRef(IWICFormatConverterInfo* This) {
4164 return This->lpVtbl->AddRef(This);
4165}
4166static inline ULONG IWICFormatConverterInfo_Release(IWICFormatConverterInfo* This) {
4167 return This->lpVtbl->Release(This);
4168}
4169/*** IWICComponentInfo methods ***/
4170static inline HRESULT IWICFormatConverterInfo_GetComponentType(IWICFormatConverterInfo* This,WICComponentType *pType) {
4171 return This->lpVtbl->GetComponentType(This,pType);
4172}
4173static inline HRESULT IWICFormatConverterInfo_GetCLSID(IWICFormatConverterInfo* This,CLSID *pclsid) {
4174 return This->lpVtbl->GetCLSID(This,pclsid);
4175}
4176static inline HRESULT IWICFormatConverterInfo_GetSigningStatus(IWICFormatConverterInfo* This,DWORD *pStatus) {
4177 return This->lpVtbl->GetSigningStatus(This,pStatus);
4178}
4179static inline HRESULT IWICFormatConverterInfo_GetAuthor(IWICFormatConverterInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
4180 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
4181}
4182static inline HRESULT IWICFormatConverterInfo_GetVendorGUID(IWICFormatConverterInfo* This,GUID *pguidVendor) {
4183 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
4184}
4185static inline HRESULT IWICFormatConverterInfo_GetVersion(IWICFormatConverterInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
4186 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
4187}
4188static inline HRESULT IWICFormatConverterInfo_GetSpecVersion(IWICFormatConverterInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
4189 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
4190}
4191static inline HRESULT IWICFormatConverterInfo_GetFriendlyName(IWICFormatConverterInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
4192 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
4193}
4194/*** IWICFormatConverterInfo methods ***/
4195static inline HRESULT IWICFormatConverterInfo_GetPixelFormats(IWICFormatConverterInfo* This,UINT cFormats,WICPixelFormatGUID *pPixelFormatGUIDs,UINT *pcActual) {
4196 return This->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual);
4197}
4198static inline HRESULT IWICFormatConverterInfo_CreateInstance(IWICFormatConverterInfo* This,IWICFormatConverter **ppIConverter) {
4199 return This->lpVtbl->CreateInstance(This,ppIConverter);
4200}
4201#endif
4202#endif
4203
4204#endif
4205
4206
4207#endif /* __IWICFormatConverterInfo_INTERFACE_DEFINED__ */
4208
4209/*****************************************************************************
4210 * IWICStream interface
4211 */
4212#ifndef __IWICStream_INTERFACE_DEFINED__
4213#define __IWICStream_INTERFACE_DEFINED__
4214
4215DEFINE_GUID(IID_IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43);
4216#if defined(__cplusplus) && !defined(CINTERFACE)
4217MIDL_INTERFACE("135ff860-22b7-4ddf-b0f6-218f4f299a43")
4218IWICStream : public IStream
4219{
4220 virtual HRESULT STDMETHODCALLTYPE InitializeFromIStream(
4221 IStream *pIStream) = 0;
4222
4223 virtual HRESULT STDMETHODCALLTYPE InitializeFromFilename(
4224 LPCWSTR wzFileName,
4225 DWORD dwAccessMode) = 0;
4226
4227 virtual HRESULT STDMETHODCALLTYPE InitializeFromMemory(
4228 BYTE *pbBuffer,
4229 DWORD cbBufferSize) = 0;
4230
4231 virtual HRESULT STDMETHODCALLTYPE InitializeFromIStreamRegion(
4232 IStream *pIStream,
4233 ULARGE_INTEGER ulOffset,
4234 ULARGE_INTEGER ulMaxSize) = 0;
4235
4236};
4237#ifdef __CRT_UUID_DECL
4238__CRT_UUID_DECL(IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43)
4239#endif
4240#else
4241typedef struct IWICStreamVtbl {
4242 BEGIN_INTERFACE
4243
4244 /*** IUnknown methods ***/
4245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4246 IWICStream *This,
4247 REFIID riid,
4248 void **ppvObject);
4249
4250 ULONG (STDMETHODCALLTYPE *AddRef)(
4251 IWICStream *This);
4252
4253 ULONG (STDMETHODCALLTYPE *Release)(
4254 IWICStream *This);
4255
4256 /*** ISequentialStream methods ***/
4257 HRESULT (STDMETHODCALLTYPE *Read)(
4258 IWICStream *This,
4259 void *pv,
4260 ULONG cb,
4261 ULONG *pcbRead);
4262
4263 HRESULT (STDMETHODCALLTYPE *Write)(
4264 IWICStream *This,
4265 const void *pv,
4266 ULONG cb,
4267 ULONG *pcbWritten);
4268
4269 /*** IStream methods ***/
4270 HRESULT (STDMETHODCALLTYPE *Seek)(
4271 IWICStream *This,
4272 LARGE_INTEGER dlibMove,
4273 DWORD dwOrigin,
4274 ULARGE_INTEGER *plibNewPosition);
4275
4276 HRESULT (STDMETHODCALLTYPE *SetSize)(
4277 IWICStream *This,
4278 ULARGE_INTEGER libNewSize);
4279
4280 HRESULT (STDMETHODCALLTYPE *CopyTo)(
4281 IWICStream *This,
4282 IStream *pstm,
4283 ULARGE_INTEGER cb,
4284 ULARGE_INTEGER *pcbRead,
4285 ULARGE_INTEGER *pcbWritten);
4286
4287 HRESULT (STDMETHODCALLTYPE *Commit)(
4288 IWICStream *This,
4289 DWORD grfCommitFlags);
4290
4291 HRESULT (STDMETHODCALLTYPE *Revert)(
4292 IWICStream *This);
4293
4294 HRESULT (STDMETHODCALLTYPE *LockRegion)(
4295 IWICStream *This,
4296 ULARGE_INTEGER libOffset,
4297 ULARGE_INTEGER cb,
4298 DWORD dwLockType);
4299
4300 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4301 IWICStream *This,
4302 ULARGE_INTEGER libOffset,
4303 ULARGE_INTEGER cb,
4304 DWORD dwLockType);
4305
4306 HRESULT (STDMETHODCALLTYPE *Stat)(
4307 IWICStream *This,
4308 STATSTG *pstatstg,
4309 DWORD grfStatFlag);
4310
4311 HRESULT (STDMETHODCALLTYPE *Clone)(
4312 IWICStream *This,
4313 IStream **ppstm);
4314
4315 /*** IWICStream methods ***/
4316 HRESULT (STDMETHODCALLTYPE *InitializeFromIStream)(
4317 IWICStream *This,
4318 IStream *pIStream);
4319
4320 HRESULT (STDMETHODCALLTYPE *InitializeFromFilename)(
4321 IWICStream *This,
4322 LPCWSTR wzFileName,
4323 DWORD dwAccessMode);
4324
4325 HRESULT (STDMETHODCALLTYPE *InitializeFromMemory)(
4326 IWICStream *This,
4327 BYTE *pbBuffer,
4328 DWORD cbBufferSize);
4329
4330 HRESULT (STDMETHODCALLTYPE *InitializeFromIStreamRegion)(
4331 IWICStream *This,
4332 IStream *pIStream,
4333 ULARGE_INTEGER ulOffset,
4334 ULARGE_INTEGER ulMaxSize);
4335
4336 END_INTERFACE
4337} IWICStreamVtbl;
4338
4339interface IWICStream {
4340 CONST_VTBL IWICStreamVtbl* lpVtbl;
4341};
4342
4343#ifdef COBJMACROS
4344#ifndef WIDL_C_INLINE_WRAPPERS
4345/*** IUnknown methods ***/
4346#define IWICStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4347#define IWICStream_AddRef(This) (This)->lpVtbl->AddRef(This)
4348#define IWICStream_Release(This) (This)->lpVtbl->Release(This)
4349/*** ISequentialStream methods ***/
4350#define IWICStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
4351#define IWICStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
4352/*** IStream methods ***/
4353#define IWICStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
4354#define IWICStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
4355#define IWICStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4356#define IWICStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
4357#define IWICStream_Revert(This) (This)->lpVtbl->Revert(This)
4358#define IWICStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
4359#define IWICStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
4360#define IWICStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
4361#define IWICStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
4362/*** IWICStream methods ***/
4363#define IWICStream_InitializeFromIStream(This,pIStream) (This)->lpVtbl->InitializeFromIStream(This,pIStream)
4364#define IWICStream_InitializeFromFilename(This,wzFileName,dwAccessMode) (This)->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode)
4365#define IWICStream_InitializeFromMemory(This,pbBuffer,cbBufferSize) (This)->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize)
4366#define IWICStream_InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize) (This)->lpVtbl->InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize)
4367#else
4368/*** IUnknown methods ***/
4369static inline HRESULT IWICStream_QueryInterface(IWICStream* This,REFIID riid,void **ppvObject) {
4370 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4371}
4372static inline ULONG IWICStream_AddRef(IWICStream* This) {
4373 return This->lpVtbl->AddRef(This);
4374}
4375static inline ULONG IWICStream_Release(IWICStream* This) {
4376 return This->lpVtbl->Release(This);
4377}
4378/*** ISequentialStream methods ***/
4379static inline HRESULT IWICStream_Read(IWICStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
4380 return This->lpVtbl->Read(This,pv,cb,pcbRead);
4381}
4382static inline HRESULT IWICStream_Write(IWICStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
4383 return This->lpVtbl->Write(This,pv,cb,pcbWritten);
4384}
4385/*** IStream methods ***/
4386static inline HRESULT IWICStream_Seek(IWICStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
4387 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
4388}
4389static inline HRESULT IWICStream_SetSize(IWICStream* This,ULARGE_INTEGER libNewSize) {
4390 return This->lpVtbl->SetSize(This,libNewSize);
4391}
4392static inline HRESULT IWICStream_CopyTo(IWICStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
4393 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
4394}
4395static inline HRESULT IWICStream_Commit(IWICStream* This,DWORD grfCommitFlags) {
4396 return This->lpVtbl->Commit(This,grfCommitFlags);
4397}
4398static inline HRESULT IWICStream_Revert(IWICStream* This) {
4399 return This->lpVtbl->Revert(This);
4400}
4401static inline HRESULT IWICStream_LockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4402 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
4403}
4404static inline HRESULT IWICStream_UnlockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4405 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
4406}
4407static inline HRESULT IWICStream_Stat(IWICStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
4408 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
4409}
4410static inline HRESULT IWICStream_Clone(IWICStream* This,IStream **ppstm) {
4411 return This->lpVtbl->Clone(This,ppstm);
4412}
4413/*** IWICStream methods ***/
4414static inline HRESULT IWICStream_InitializeFromIStream(IWICStream* This,IStream *pIStream) {
4415 return This->lpVtbl->InitializeFromIStream(This,pIStream);
4416}
4417static inline HRESULT IWICStream_InitializeFromFilename(IWICStream* This,LPCWSTR wzFileName,DWORD dwAccessMode) {
4418 return This->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode);
4419}
4420static inline HRESULT IWICStream_InitializeFromMemory(IWICStream* This,BYTE *pbBuffer,DWORD cbBufferSize) {
4421 return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize);
4422}
4423static inline HRESULT IWICStream_InitializeFromIStreamRegion(IWICStream* This,IStream *pIStream,ULARGE_INTEGER ulOffset,ULARGE_INTEGER ulMaxSize) {
4424 return This->lpVtbl->InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize);
4425}
4426#endif
4427#endif
4428
4429#endif
4430
4431
4432#endif /* __IWICStream_INTERFACE_DEFINED__ */
4433
4434/*****************************************************************************
4435 * IWICBitmapScaler interface
4436 */
4437#ifndef __IWICBitmapScaler_INTERFACE_DEFINED__
4438#define __IWICBitmapScaler_INTERFACE_DEFINED__
4439
4440DEFINE_GUID(IID_IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
4441#if defined(__cplusplus) && !defined(CINTERFACE)
4442MIDL_INTERFACE("00000302-a8f2-4877-ba0a-fd2b6645fb94")
4443IWICBitmapScaler : public IWICBitmapSource
4444{
4445 virtual HRESULT STDMETHODCALLTYPE Initialize(
4446 IWICBitmapSource *pISource,
4447 UINT uiWidth,
4448 UINT uiHeight,
4449 WICBitmapInterpolationMode mode) = 0;
4450
4451};
4452#ifdef __CRT_UUID_DECL
4453__CRT_UUID_DECL(IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
4454#endif
4455#else
4456typedef struct IWICBitmapScalerVtbl {
4457 BEGIN_INTERFACE
4458
4459 /*** IUnknown methods ***/
4460 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4461 IWICBitmapScaler *This,
4462 REFIID riid,
4463 void **ppvObject);
4464
4465 ULONG (STDMETHODCALLTYPE *AddRef)(
4466 IWICBitmapScaler *This);
4467
4468 ULONG (STDMETHODCALLTYPE *Release)(
4469 IWICBitmapScaler *This);
4470
4471 /*** IWICBitmapSource methods ***/
4472 HRESULT (STDMETHODCALLTYPE *GetSize)(
4473 IWICBitmapScaler *This,
4474 UINT *puiWidth,
4475 UINT *puiHeight);
4476
4477 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
4478 IWICBitmapScaler *This,
4479 WICPixelFormatGUID *pPixelFormat);
4480
4481 HRESULT (STDMETHODCALLTYPE *GetResolution)(
4482 IWICBitmapScaler *This,
4483 double *pDpiX,
4484 double *pDpiY);
4485
4486 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
4487 IWICBitmapScaler *This,
4488 IWICPalette *pIPalette);
4489
4490 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
4491 IWICBitmapScaler *This,
4492 const WICRect *prc,
4493 UINT cbStride,
4494 UINT cbBufferSize,
4495 BYTE *pbBuffer);
4496
4497 /*** IWICBitmapScaler methods ***/
4498 HRESULT (STDMETHODCALLTYPE *Initialize)(
4499 IWICBitmapScaler *This,
4500 IWICBitmapSource *pISource,
4501 UINT uiWidth,
4502 UINT uiHeight,
4503 WICBitmapInterpolationMode mode);
4504
4505 END_INTERFACE
4506} IWICBitmapScalerVtbl;
4507
4508interface IWICBitmapScaler {
4509 CONST_VTBL IWICBitmapScalerVtbl* lpVtbl;
4510};
4511
4512#ifdef COBJMACROS
4513#ifndef WIDL_C_INLINE_WRAPPERS
4514/*** IUnknown methods ***/
4515#define IWICBitmapScaler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4516#define IWICBitmapScaler_AddRef(This) (This)->lpVtbl->AddRef(This)
4517#define IWICBitmapScaler_Release(This) (This)->lpVtbl->Release(This)
4518/*** IWICBitmapSource methods ***/
4519#define IWICBitmapScaler_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
4520#define IWICBitmapScaler_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
4521#define IWICBitmapScaler_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
4522#define IWICBitmapScaler_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
4523#define IWICBitmapScaler_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
4524/*** IWICBitmapScaler methods ***/
4525#define IWICBitmapScaler_Initialize(This,pISource,uiWidth,uiHeight,mode) (This)->lpVtbl->Initialize(This,pISource,uiWidth,uiHeight,mode)
4526#else
4527/*** IUnknown methods ***/
4528static inline HRESULT IWICBitmapScaler_QueryInterface(IWICBitmapScaler* This,REFIID riid,void **ppvObject) {
4529 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4530}
4531static inline ULONG IWICBitmapScaler_AddRef(IWICBitmapScaler* This) {
4532 return This->lpVtbl->AddRef(This);
4533}
4534static inline ULONG IWICBitmapScaler_Release(IWICBitmapScaler* This) {
4535 return This->lpVtbl->Release(This);
4536}
4537/*** IWICBitmapSource methods ***/
4538static inline HRESULT IWICBitmapScaler_GetSize(IWICBitmapScaler* This,UINT *puiWidth,UINT *puiHeight) {
4539 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
4540}
4541static inline HRESULT IWICBitmapScaler_GetPixelFormat(IWICBitmapScaler* This,WICPixelFormatGUID *pPixelFormat) {
4542 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
4543}
4544static inline HRESULT IWICBitmapScaler_GetResolution(IWICBitmapScaler* This,double *pDpiX,double *pDpiY) {
4545 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
4546}
4547static inline HRESULT IWICBitmapScaler_CopyPalette(IWICBitmapScaler* This,IWICPalette *pIPalette) {
4548 return This->lpVtbl->CopyPalette(This,pIPalette);
4549}
4550static inline HRESULT IWICBitmapScaler_CopyPixels(IWICBitmapScaler* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
4551 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
4552}
4553/*** IWICBitmapScaler methods ***/
4554static inline HRESULT IWICBitmapScaler_Initialize(IWICBitmapScaler* This,IWICBitmapSource *pISource,UINT uiWidth,UINT uiHeight,WICBitmapInterpolationMode mode) {
4555 return This->lpVtbl->Initialize(This,pISource,uiWidth,uiHeight,mode);
4556}
4557#endif
4558#endif
4559
4560#endif
4561
4562
4563#endif /* __IWICBitmapScaler_INTERFACE_DEFINED__ */
4564
4565/*****************************************************************************
4566 * IWICBitmapClipper interface
4567 */
4568#ifndef __IWICBitmapClipper_INTERFACE_DEFINED__
4569#define __IWICBitmapClipper_INTERFACE_DEFINED__
4570
4571DEFINE_GUID(IID_IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5);
4572#if defined(__cplusplus) && !defined(CINTERFACE)
4573MIDL_INTERFACE("e4fbcf03-223d-4e81-9333-d635556dd1b5")
4574IWICBitmapClipper : public IWICBitmapSource
4575{
4576 virtual HRESULT STDMETHODCALLTYPE Initialize(
4577 IWICBitmapSource *pISource,
4578 const WICRect *prc) = 0;
4579
4580};
4581#ifdef __CRT_UUID_DECL
4582__CRT_UUID_DECL(IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5)
4583#endif
4584#else
4585typedef struct IWICBitmapClipperVtbl {
4586 BEGIN_INTERFACE
4587
4588 /*** IUnknown methods ***/
4589 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4590 IWICBitmapClipper *This,
4591 REFIID riid,
4592 void **ppvObject);
4593
4594 ULONG (STDMETHODCALLTYPE *AddRef)(
4595 IWICBitmapClipper *This);
4596
4597 ULONG (STDMETHODCALLTYPE *Release)(
4598 IWICBitmapClipper *This);
4599
4600 /*** IWICBitmapSource methods ***/
4601 HRESULT (STDMETHODCALLTYPE *GetSize)(
4602 IWICBitmapClipper *This,
4603 UINT *puiWidth,
4604 UINT *puiHeight);
4605
4606 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
4607 IWICBitmapClipper *This,
4608 WICPixelFormatGUID *pPixelFormat);
4609
4610 HRESULT (STDMETHODCALLTYPE *GetResolution)(
4611 IWICBitmapClipper *This,
4612 double *pDpiX,
4613 double *pDpiY);
4614
4615 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
4616 IWICBitmapClipper *This,
4617 IWICPalette *pIPalette);
4618
4619 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
4620 IWICBitmapClipper *This,
4621 const WICRect *prc,
4622 UINT cbStride,
4623 UINT cbBufferSize,
4624 BYTE *pbBuffer);
4625
4626 /*** IWICBitmapClipper methods ***/
4627 HRESULT (STDMETHODCALLTYPE *Initialize)(
4628 IWICBitmapClipper *This,
4629 IWICBitmapSource *pISource,
4630 const WICRect *prc);
4631
4632 END_INTERFACE
4633} IWICBitmapClipperVtbl;
4634
4635interface IWICBitmapClipper {
4636 CONST_VTBL IWICBitmapClipperVtbl* lpVtbl;
4637};
4638
4639#ifdef COBJMACROS
4640#ifndef WIDL_C_INLINE_WRAPPERS
4641/*** IUnknown methods ***/
4642#define IWICBitmapClipper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4643#define IWICBitmapClipper_AddRef(This) (This)->lpVtbl->AddRef(This)
4644#define IWICBitmapClipper_Release(This) (This)->lpVtbl->Release(This)
4645/*** IWICBitmapSource methods ***/
4646#define IWICBitmapClipper_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
4647#define IWICBitmapClipper_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
4648#define IWICBitmapClipper_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
4649#define IWICBitmapClipper_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
4650#define IWICBitmapClipper_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
4651/*** IWICBitmapClipper methods ***/
4652#define IWICBitmapClipper_Initialize(This,pISource,prc) (This)->lpVtbl->Initialize(This,pISource,prc)
4653#else
4654/*** IUnknown methods ***/
4655static inline HRESULT IWICBitmapClipper_QueryInterface(IWICBitmapClipper* This,REFIID riid,void **ppvObject) {
4656 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4657}
4658static inline ULONG IWICBitmapClipper_AddRef(IWICBitmapClipper* This) {
4659 return This->lpVtbl->AddRef(This);
4660}
4661static inline ULONG IWICBitmapClipper_Release(IWICBitmapClipper* This) {
4662 return This->lpVtbl->Release(This);
4663}
4664/*** IWICBitmapSource methods ***/
4665static inline HRESULT IWICBitmapClipper_GetSize(IWICBitmapClipper* This,UINT *puiWidth,UINT *puiHeight) {
4666 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
4667}
4668static inline HRESULT IWICBitmapClipper_GetPixelFormat(IWICBitmapClipper* This,WICPixelFormatGUID *pPixelFormat) {
4669 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
4670}
4671static inline HRESULT IWICBitmapClipper_GetResolution(IWICBitmapClipper* This,double *pDpiX,double *pDpiY) {
4672 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
4673}
4674static inline HRESULT IWICBitmapClipper_CopyPalette(IWICBitmapClipper* This,IWICPalette *pIPalette) {
4675 return This->lpVtbl->CopyPalette(This,pIPalette);
4676}
4677static inline HRESULT IWICBitmapClipper_CopyPixels(IWICBitmapClipper* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
4678 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
4679}
4680/*** IWICBitmapClipper methods ***/
4681static inline HRESULT IWICBitmapClipper_Initialize(IWICBitmapClipper* This,IWICBitmapSource *pISource,const WICRect *prc) {
4682 return This->lpVtbl->Initialize(This,pISource,prc);
4683}
4684#endif
4685#endif
4686
4687#endif
4688
4689
4690#endif /* __IWICBitmapClipper_INTERFACE_DEFINED__ */
4691
4692/*****************************************************************************
4693 * IWICColorTransform interface
4694 */
4695#ifndef __IWICColorTransform_INTERFACE_DEFINED__
4696#define __IWICColorTransform_INTERFACE_DEFINED__
4697
4698DEFINE_GUID(IID_IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94);
4699#if defined(__cplusplus) && !defined(CINTERFACE)
4700MIDL_INTERFACE("b66f034f-d0e2-40ab-b436-6de39e321a94")
4701IWICColorTransform : public IWICBitmapSource
4702{
4703 virtual HRESULT STDMETHODCALLTYPE Initialize(
4704 IWICBitmapSource *pIBitmapSource,
4705 IWICColorContext *pIContextSource,
4706 IWICColorContext *pIContextDest,
4707 REFWICPixelFormatGUID pixelFmtDest) = 0;
4708
4709};
4710#ifdef __CRT_UUID_DECL
4711__CRT_UUID_DECL(IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94)
4712#endif
4713#else
4714typedef struct IWICColorTransformVtbl {
4715 BEGIN_INTERFACE
4716
4717 /*** IUnknown methods ***/
4718 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4719 IWICColorTransform *This,
4720 REFIID riid,
4721 void **ppvObject);
4722
4723 ULONG (STDMETHODCALLTYPE *AddRef)(
4724 IWICColorTransform *This);
4725
4726 ULONG (STDMETHODCALLTYPE *Release)(
4727 IWICColorTransform *This);
4728
4729 /*** IWICBitmapSource methods ***/
4730 HRESULT (STDMETHODCALLTYPE *GetSize)(
4731 IWICColorTransform *This,
4732 UINT *puiWidth,
4733 UINT *puiHeight);
4734
4735 HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
4736 IWICColorTransform *This,
4737 WICPixelFormatGUID *pPixelFormat);
4738
4739 HRESULT (STDMETHODCALLTYPE *GetResolution)(
4740 IWICColorTransform *This,
4741 double *pDpiX,
4742 double *pDpiY);
4743
4744 HRESULT (STDMETHODCALLTYPE *CopyPalette)(
4745 IWICColorTransform *This,
4746 IWICPalette *pIPalette);
4747
4748 HRESULT (STDMETHODCALLTYPE *CopyPixels)(
4749 IWICColorTransform *This,
4750 const WICRect *prc,
4751 UINT cbStride,
4752 UINT cbBufferSize,
4753 BYTE *pbBuffer);
4754
4755 /*** IWICColorTransform methods ***/
4756 HRESULT (STDMETHODCALLTYPE *Initialize)(
4757 IWICColorTransform *This,
4758 IWICBitmapSource *pIBitmapSource,
4759 IWICColorContext *pIContextSource,
4760 IWICColorContext *pIContextDest,
4761 REFWICPixelFormatGUID pixelFmtDest);
4762
4763 END_INTERFACE
4764} IWICColorTransformVtbl;
4765
4766interface IWICColorTransform {
4767 CONST_VTBL IWICColorTransformVtbl* lpVtbl;
4768};
4769
4770#ifdef COBJMACROS
4771#ifndef WIDL_C_INLINE_WRAPPERS
4772/*** IUnknown methods ***/
4773#define IWICColorTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4774#define IWICColorTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
4775#define IWICColorTransform_Release(This) (This)->lpVtbl->Release(This)
4776/*** IWICBitmapSource methods ***/
4777#define IWICColorTransform_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
4778#define IWICColorTransform_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
4779#define IWICColorTransform_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
4780#define IWICColorTransform_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
4781#define IWICColorTransform_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
4782/*** IWICColorTransform methods ***/
4783#define IWICColorTransform_Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest) (This)->lpVtbl->Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest)
4784#else
4785/*** IUnknown methods ***/
4786static inline HRESULT IWICColorTransform_QueryInterface(IWICColorTransform* This,REFIID riid,void **ppvObject) {
4787 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4788}
4789static inline ULONG IWICColorTransform_AddRef(IWICColorTransform* This) {
4790 return This->lpVtbl->AddRef(This);
4791}
4792static inline ULONG IWICColorTransform_Release(IWICColorTransform* This) {
4793 return This->lpVtbl->Release(This);
4794}
4795/*** IWICBitmapSource methods ***/
4796static inline HRESULT IWICColorTransform_GetSize(IWICColorTransform* This,UINT *puiWidth,UINT *puiHeight) {
4797 return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
4798}
4799static inline HRESULT IWICColorTransform_GetPixelFormat(IWICColorTransform* This,WICPixelFormatGUID *pPixelFormat) {
4800 return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
4801}
4802static inline HRESULT IWICColorTransform_GetResolution(IWICColorTransform* This,double *pDpiX,double *pDpiY) {
4803 return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
4804}
4805static inline HRESULT IWICColorTransform_CopyPalette(IWICColorTransform* This,IWICPalette *pIPalette) {
4806 return This->lpVtbl->CopyPalette(This,pIPalette);
4807}
4808static inline HRESULT IWICColorTransform_CopyPixels(IWICColorTransform* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
4809 return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
4810}
4811/*** IWICColorTransform methods ***/
4812static inline HRESULT IWICColorTransform_Initialize(IWICColorTransform* This,IWICBitmapSource *pIBitmapSource,IWICColorContext *pIContextSource,IWICColorContext *pIContextDest,REFWICPixelFormatGUID pixelFmtDest) {
4813 return This->lpVtbl->Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest);
4814}
4815#endif
4816#endif
4817
4818#endif
4819
4820
4821#endif /* __IWICColorTransform_INTERFACE_DEFINED__ */
4822
4823/*****************************************************************************
4824 * IWICFastMetadataEncoder interface
4825 */
4826#ifndef __IWICFastMetadataEncoder_INTERFACE_DEFINED__
4827#define __IWICFastMetadataEncoder_INTERFACE_DEFINED__
4828
4829DEFINE_GUID(IID_IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f);
4830#if defined(__cplusplus) && !defined(CINTERFACE)
4831MIDL_INTERFACE("b84e2c09-78c9-4ac4-8bd3-524ae1663a2f")
4832IWICFastMetadataEncoder : public IUnknown
4833{
4834 virtual HRESULT STDMETHODCALLTYPE Commit(
4835 ) = 0;
4836
4837 virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter(
4838 IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0;
4839
4840};
4841#ifdef __CRT_UUID_DECL
4842__CRT_UUID_DECL(IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f)
4843#endif
4844#else
4845typedef struct IWICFastMetadataEncoderVtbl {
4846 BEGIN_INTERFACE
4847
4848 /*** IUnknown methods ***/
4849 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4850 IWICFastMetadataEncoder *This,
4851 REFIID riid,
4852 void **ppvObject);
4853
4854 ULONG (STDMETHODCALLTYPE *AddRef)(
4855 IWICFastMetadataEncoder *This);
4856
4857 ULONG (STDMETHODCALLTYPE *Release)(
4858 IWICFastMetadataEncoder *This);
4859
4860 /*** IWICFastMetadataEncoder methods ***/
4861 HRESULT (STDMETHODCALLTYPE *Commit)(
4862 IWICFastMetadataEncoder *This);
4863
4864 HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)(
4865 IWICFastMetadataEncoder *This,
4866 IWICMetadataQueryWriter **ppIMetadataQueryWriter);
4867
4868 END_INTERFACE
4869} IWICFastMetadataEncoderVtbl;
4870
4871interface IWICFastMetadataEncoder {
4872 CONST_VTBL IWICFastMetadataEncoderVtbl* lpVtbl;
4873};
4874
4875#ifdef COBJMACROS
4876#ifndef WIDL_C_INLINE_WRAPPERS
4877/*** IUnknown methods ***/
4878#define IWICFastMetadataEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4879#define IWICFastMetadataEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
4880#define IWICFastMetadataEncoder_Release(This) (This)->lpVtbl->Release(This)
4881/*** IWICFastMetadataEncoder methods ***/
4882#define IWICFastMetadataEncoder_Commit(This) (This)->lpVtbl->Commit(This)
4883#define IWICFastMetadataEncoder_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter)
4884#else
4885/*** IUnknown methods ***/
4886static inline HRESULT IWICFastMetadataEncoder_QueryInterface(IWICFastMetadataEncoder* This,REFIID riid,void **ppvObject) {
4887 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4888}
4889static inline ULONG IWICFastMetadataEncoder_AddRef(IWICFastMetadataEncoder* This) {
4890 return This->lpVtbl->AddRef(This);
4891}
4892static inline ULONG IWICFastMetadataEncoder_Release(IWICFastMetadataEncoder* This) {
4893 return This->lpVtbl->Release(This);
4894}
4895/*** IWICFastMetadataEncoder methods ***/
4896static inline HRESULT IWICFastMetadataEncoder_Commit(IWICFastMetadataEncoder* This) {
4897 return This->lpVtbl->Commit(This);
4898}
4899static inline HRESULT IWICFastMetadataEncoder_GetMetadataQueryWriter(IWICFastMetadataEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
4900 return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
4901}
4902#endif
4903#endif
4904
4905#endif
4906
4907
4908#endif /* __IWICFastMetadataEncoder_INTERFACE_DEFINED__ */
4909
4910/*****************************************************************************
4911 * IWICImageEncoder interface
4912 */
4913#ifndef __IWICImageEncoder_INTERFACE_DEFINED__
4914#define __IWICImageEncoder_INTERFACE_DEFINED__
4915
4916DEFINE_GUID(IID_IWICImageEncoder, 0x04c75bf8, 0x3ce1, 0x473b, 0xac,0xc5, 0x3c,0xc4,0xf5,0xe9,0x49,0x99);
4917#if defined(__cplusplus) && !defined(CINTERFACE)
4918MIDL_INTERFACE("04c75bf8-3ce1-473b-acc5-3cc4f5e94999")
4919IWICImageEncoder : public IUnknown
4920{
4921 virtual HRESULT STDMETHODCALLTYPE WriteFrame(
4922 ID2D1Image *image,
4923 IWICBitmapFrameEncode *encode,
4924 const WICImageParameters *parameters) = 0;
4925
4926 virtual HRESULT STDMETHODCALLTYPE WriteFrameThumbnail(
4927 ID2D1Image *image,
4928 IWICBitmapFrameEncode *encode,
4929 const WICImageParameters *parameters) = 0;
4930
4931 virtual HRESULT STDMETHODCALLTYPE WriteThumbnail(
4932 ID2D1Image *image,
4933 IWICBitmapEncoder *encoder,
4934 const WICImageParameters *parameters) = 0;
4935
4936};
4937#ifdef __CRT_UUID_DECL
4938__CRT_UUID_DECL(IWICImageEncoder, 0x04c75bf8, 0x3ce1, 0x473b, 0xac,0xc5, 0x3c,0xc4,0xf5,0xe9,0x49,0x99)
4939#endif
4940#else
4941typedef struct IWICImageEncoderVtbl {
4942 BEGIN_INTERFACE
4943
4944 /*** IUnknown methods ***/
4945 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4946 IWICImageEncoder *This,
4947 REFIID riid,
4948 void **ppvObject);
4949
4950 ULONG (STDMETHODCALLTYPE *AddRef)(
4951 IWICImageEncoder *This);
4952
4953 ULONG (STDMETHODCALLTYPE *Release)(
4954 IWICImageEncoder *This);
4955
4956 /*** IWICImageEncoder methods ***/
4957 HRESULT (STDMETHODCALLTYPE *WriteFrame)(
4958 IWICImageEncoder *This,
4959 ID2D1Image *image,
4960 IWICBitmapFrameEncode *encode,
4961 const WICImageParameters *parameters);
4962
4963 HRESULT (STDMETHODCALLTYPE *WriteFrameThumbnail)(
4964 IWICImageEncoder *This,
4965 ID2D1Image *image,
4966 IWICBitmapFrameEncode *encode,
4967 const WICImageParameters *parameters);
4968
4969 HRESULT (STDMETHODCALLTYPE *WriteThumbnail)(
4970 IWICImageEncoder *This,
4971 ID2D1Image *image,
4972 IWICBitmapEncoder *encoder,
4973 const WICImageParameters *parameters);
4974
4975 END_INTERFACE
4976} IWICImageEncoderVtbl;
4977
4978interface IWICImageEncoder {
4979 CONST_VTBL IWICImageEncoderVtbl* lpVtbl;
4980};
4981
4982#ifdef COBJMACROS
4983#ifndef WIDL_C_INLINE_WRAPPERS
4984/*** IUnknown methods ***/
4985#define IWICImageEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4986#define IWICImageEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
4987#define IWICImageEncoder_Release(This) (This)->lpVtbl->Release(This)
4988/*** IWICImageEncoder methods ***/
4989#define IWICImageEncoder_WriteFrame(This,image,encode,parameters) (This)->lpVtbl->WriteFrame(This,image,encode,parameters)
4990#define IWICImageEncoder_WriteFrameThumbnail(This,image,encode,parameters) (This)->lpVtbl->WriteFrameThumbnail(This,image,encode,parameters)
4991#define IWICImageEncoder_WriteThumbnail(This,image,encoder,parameters) (This)->lpVtbl->WriteThumbnail(This,image,encoder,parameters)
4992#else
4993/*** IUnknown methods ***/
4994static inline HRESULT IWICImageEncoder_QueryInterface(IWICImageEncoder* This,REFIID riid,void **ppvObject) {
4995 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4996}
4997static inline ULONG IWICImageEncoder_AddRef(IWICImageEncoder* This) {
4998 return This->lpVtbl->AddRef(This);
4999}
5000static inline ULONG IWICImageEncoder_Release(IWICImageEncoder* This) {
5001 return This->lpVtbl->Release(This);
5002}
5003/*** IWICImageEncoder methods ***/
5004static inline HRESULT IWICImageEncoder_WriteFrame(IWICImageEncoder* This,ID2D1Image *image,IWICBitmapFrameEncode *encode,const WICImageParameters *parameters) {
5005 return This->lpVtbl->WriteFrame(This,image,encode,parameters);
5006}
5007static inline HRESULT IWICImageEncoder_WriteFrameThumbnail(IWICImageEncoder* This,ID2D1Image *image,IWICBitmapFrameEncode *encode,const WICImageParameters *parameters) {
5008 return This->lpVtbl->WriteFrameThumbnail(This,image,encode,parameters);
5009}
5010static inline HRESULT IWICImageEncoder_WriteThumbnail(IWICImageEncoder* This,ID2D1Image *image,IWICBitmapEncoder *encoder,const WICImageParameters *parameters) {
5011 return This->lpVtbl->WriteThumbnail(This,image,encoder,parameters);
5012}
5013#endif
5014#endif
5015
5016#endif
5017
5018
5019#endif /* __IWICImageEncoder_INTERFACE_DEFINED__ */
5020
5021DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);
5022DEFINE_GUID(CLSID_WICImagingFactory1, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);
5023DEFINE_GUID(CLSID_WICImagingFactory2, 0x317d06e8,0x5f24,0x433d,0xbd,0xf7,0x79,0xce,0x68,0xd8,0xab,0xc2);
5024/*****************************************************************************
5025 * IWICImagingFactory interface
5026 */
5027#ifndef __IWICImagingFactory_INTERFACE_DEFINED__
5028#define __IWICImagingFactory_INTERFACE_DEFINED__
5029
5030DEFINE_GUID(IID_IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70);
5031#if defined(__cplusplus) && !defined(CINTERFACE)
5032MIDL_INTERFACE("ec5ec8a9-c395-4314-9c77-54d7a935ff70")
5033IWICImagingFactory : public IUnknown
5034{
5035 virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromFilename(
5036 LPCWSTR wzFilename,
5037 const GUID *pguidVendor,
5038 DWORD dwDesiredAccess,
5039 WICDecodeOptions metadataOptions,
5040 IWICBitmapDecoder **ppIDecoder) = 0;
5041
5042 virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromStream(
5043 IStream *pIStream,
5044 const GUID *pguidVendor,
5045 WICDecodeOptions metadataOptions,
5046 IWICBitmapDecoder **ppIDecoder) = 0;
5047
5048 virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromFileHandle(
5049 ULONG_PTR hFile,
5050 const GUID *pguidVendor,
5051 WICDecodeOptions metadataOptions,
5052 IWICBitmapDecoder **ppIDecoder) = 0;
5053
5054 virtual HRESULT STDMETHODCALLTYPE CreateComponentInfo(
5055 REFCLSID clsidComponent,
5056 IWICComponentInfo **ppIInfo) = 0;
5057
5058 virtual HRESULT STDMETHODCALLTYPE CreateDecoder(
5059 REFGUID guidContainerFormat,
5060 const GUID *pguidVendor,
5061 IWICBitmapDecoder **ppIDecoder) = 0;
5062
5063 virtual HRESULT STDMETHODCALLTYPE CreateEncoder(
5064 REFGUID guidContainerFormat,
5065 const GUID *pguidVendor,
5066 IWICBitmapEncoder **ppIEncoder) = 0;
5067
5068 virtual HRESULT STDMETHODCALLTYPE CreatePalette(
5069 IWICPalette **ppIPalette) = 0;
5070
5071 virtual HRESULT STDMETHODCALLTYPE CreateFormatConverter(
5072 IWICFormatConverter **ppIFormatConverter) = 0;
5073
5074 virtual HRESULT STDMETHODCALLTYPE CreateBitmapScaler(
5075 IWICBitmapScaler **ppIBitmapScaler) = 0;
5076
5077 virtual HRESULT STDMETHODCALLTYPE CreateBitmapClipper(
5078 IWICBitmapClipper **ppIBitmapClipper) = 0;
5079
5080 virtual HRESULT STDMETHODCALLTYPE CreateBitmapFlipRotator(
5081 IWICBitmapFlipRotator **ppIBitmapFlipRotator) = 0;
5082
5083 virtual HRESULT STDMETHODCALLTYPE CreateStream(
5084 IWICStream **ppIWICStream) = 0;
5085
5086 virtual HRESULT STDMETHODCALLTYPE CreateColorContext(
5087 IWICColorContext **ppIWICColorContext) = 0;
5088
5089 virtual HRESULT STDMETHODCALLTYPE CreateColorTransformer(
5090 IWICColorTransform **ppIWICColorTransform) = 0;
5091
5092 virtual HRESULT STDMETHODCALLTYPE CreateBitmap(
5093 UINT uiWidth,
5094 UINT uiHeight,
5095 REFWICPixelFormatGUID pixelFormat,
5096 WICBitmapCreateCacheOption option,
5097 IWICBitmap **ppIBitmap) = 0;
5098
5099 virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromSource(
5100 IWICBitmapSource *piBitmapSource,
5101 WICBitmapCreateCacheOption option,
5102 IWICBitmap **ppIBitmap) = 0;
5103
5104 virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromSourceRect(
5105 IWICBitmapSource *piBitmapSource,
5106 UINT x,
5107 UINT y,
5108 UINT width,
5109 UINT height,
5110 IWICBitmap **ppIBitmap) = 0;
5111
5112 virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromMemory(
5113 UINT uiWidth,
5114 UINT uiHeight,
5115 REFWICPixelFormatGUID pixelFormat,
5116 UINT cbStride,
5117 UINT cbBufferSize,
5118 BYTE *pbBuffer,
5119 IWICBitmap **ppIBitmap) = 0;
5120
5121 virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromHBITMAP(
5122 HBITMAP hBitmap,
5123 HPALETTE hPalette,
5124 WICBitmapAlphaChannelOption options,
5125 IWICBitmap **ppIBitmap) = 0;
5126
5127 virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromHICON(
5128 HICON hIcon,
5129 IWICBitmap **ppIBitmap) = 0;
5130
5131 virtual HRESULT STDMETHODCALLTYPE CreateComponentEnumerator(
5132 DWORD componentTypes,
5133 DWORD options,
5134 IEnumUnknown **ppIEnumUnknown) = 0;
5135
5136 virtual HRESULT STDMETHODCALLTYPE CreateFastMetadataEncoderFromDecoder(
5137 IWICBitmapDecoder *pIDecoder,
5138 IWICFastMetadataEncoder **ppIFastEncoder) = 0;
5139
5140 virtual HRESULT STDMETHODCALLTYPE CreateFastMetadataEncoderFromFrameDecode(
5141 IWICBitmapFrameDecode *pIFrameDecoder,
5142 IWICFastMetadataEncoder **ppIFastEncoder) = 0;
5143
5144 virtual HRESULT STDMETHODCALLTYPE CreateQueryWriter(
5145 REFGUID guidMetadataFormat,
5146 const GUID *pguidVendor,
5147 IWICMetadataQueryWriter **ppIQueryWriter) = 0;
5148
5149 virtual HRESULT STDMETHODCALLTYPE CreateQueryWriterFromReader(
5150 IWICMetadataQueryReader *pIQueryReader,
5151 const GUID *pguidVendor,
5152 IWICMetadataQueryWriter **ppIQueryWriter) = 0;
5153
5154};
5155#ifdef __CRT_UUID_DECL
5156__CRT_UUID_DECL(IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70)
5157#endif
5158#else
5159typedef struct IWICImagingFactoryVtbl {
5160 BEGIN_INTERFACE
5161
5162 /*** IUnknown methods ***/
5163 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5164 IWICImagingFactory *This,
5165 REFIID riid,
5166 void **ppvObject);
5167
5168 ULONG (STDMETHODCALLTYPE *AddRef)(
5169 IWICImagingFactory *This);
5170
5171 ULONG (STDMETHODCALLTYPE *Release)(
5172 IWICImagingFactory *This);
5173
5174 /*** IWICImagingFactory methods ***/
5175 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)(
5176 IWICImagingFactory *This,
5177 LPCWSTR wzFilename,
5178 const GUID *pguidVendor,
5179 DWORD dwDesiredAccess,
5180 WICDecodeOptions metadataOptions,
5181 IWICBitmapDecoder **ppIDecoder);
5182
5183 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)(
5184 IWICImagingFactory *This,
5185 IStream *pIStream,
5186 const GUID *pguidVendor,
5187 WICDecodeOptions metadataOptions,
5188 IWICBitmapDecoder **ppIDecoder);
5189
5190 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)(
5191 IWICImagingFactory *This,
5192 ULONG_PTR hFile,
5193 const GUID *pguidVendor,
5194 WICDecodeOptions metadataOptions,
5195 IWICBitmapDecoder **ppIDecoder);
5196
5197 HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)(
5198 IWICImagingFactory *This,
5199 REFCLSID clsidComponent,
5200 IWICComponentInfo **ppIInfo);
5201
5202 HRESULT (STDMETHODCALLTYPE *CreateDecoder)(
5203 IWICImagingFactory *This,
5204 REFGUID guidContainerFormat,
5205 const GUID *pguidVendor,
5206 IWICBitmapDecoder **ppIDecoder);
5207
5208 HRESULT (STDMETHODCALLTYPE *CreateEncoder)(
5209 IWICImagingFactory *This,
5210 REFGUID guidContainerFormat,
5211 const GUID *pguidVendor,
5212 IWICBitmapEncoder **ppIEncoder);
5213
5214 HRESULT (STDMETHODCALLTYPE *CreatePalette)(
5215 IWICImagingFactory *This,
5216 IWICPalette **ppIPalette);
5217
5218 HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)(
5219 IWICImagingFactory *This,
5220 IWICFormatConverter **ppIFormatConverter);
5221
5222 HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)(
5223 IWICImagingFactory *This,
5224 IWICBitmapScaler **ppIBitmapScaler);
5225
5226 HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)(
5227 IWICImagingFactory *This,
5228 IWICBitmapClipper **ppIBitmapClipper);
5229
5230 HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)(
5231 IWICImagingFactory *This,
5232 IWICBitmapFlipRotator **ppIBitmapFlipRotator);
5233
5234 HRESULT (STDMETHODCALLTYPE *CreateStream)(
5235 IWICImagingFactory *This,
5236 IWICStream **ppIWICStream);
5237
5238 HRESULT (STDMETHODCALLTYPE *CreateColorContext)(
5239 IWICImagingFactory *This,
5240 IWICColorContext **ppIWICColorContext);
5241
5242 HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)(
5243 IWICImagingFactory *This,
5244 IWICColorTransform **ppIWICColorTransform);
5245
5246 HRESULT (STDMETHODCALLTYPE *CreateBitmap)(
5247 IWICImagingFactory *This,
5248 UINT uiWidth,
5249 UINT uiHeight,
5250 REFWICPixelFormatGUID pixelFormat,
5251 WICBitmapCreateCacheOption option,
5252 IWICBitmap **ppIBitmap);
5253
5254 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)(
5255 IWICImagingFactory *This,
5256 IWICBitmapSource *piBitmapSource,
5257 WICBitmapCreateCacheOption option,
5258 IWICBitmap **ppIBitmap);
5259
5260 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)(
5261 IWICImagingFactory *This,
5262 IWICBitmapSource *piBitmapSource,
5263 UINT x,
5264 UINT y,
5265 UINT width,
5266 UINT height,
5267 IWICBitmap **ppIBitmap);
5268
5269 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)(
5270 IWICImagingFactory *This,
5271 UINT uiWidth,
5272 UINT uiHeight,
5273 REFWICPixelFormatGUID pixelFormat,
5274 UINT cbStride,
5275 UINT cbBufferSize,
5276 BYTE *pbBuffer,
5277 IWICBitmap **ppIBitmap);
5278
5279 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)(
5280 IWICImagingFactory *This,
5281 HBITMAP hBitmap,
5282 HPALETTE hPalette,
5283 WICBitmapAlphaChannelOption options,
5284 IWICBitmap **ppIBitmap);
5285
5286 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)(
5287 IWICImagingFactory *This,
5288 HICON hIcon,
5289 IWICBitmap **ppIBitmap);
5290
5291 HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)(
5292 IWICImagingFactory *This,
5293 DWORD componentTypes,
5294 DWORD options,
5295 IEnumUnknown **ppIEnumUnknown);
5296
5297 HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)(
5298 IWICImagingFactory *This,
5299 IWICBitmapDecoder *pIDecoder,
5300 IWICFastMetadataEncoder **ppIFastEncoder);
5301
5302 HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)(
5303 IWICImagingFactory *This,
5304 IWICBitmapFrameDecode *pIFrameDecoder,
5305 IWICFastMetadataEncoder **ppIFastEncoder);
5306
5307 HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)(
5308 IWICImagingFactory *This,
5309 REFGUID guidMetadataFormat,
5310 const GUID *pguidVendor,
5311 IWICMetadataQueryWriter **ppIQueryWriter);
5312
5313 HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)(
5314 IWICImagingFactory *This,
5315 IWICMetadataQueryReader *pIQueryReader,
5316 const GUID *pguidVendor,
5317 IWICMetadataQueryWriter **ppIQueryWriter);
5318
5319 END_INTERFACE
5320} IWICImagingFactoryVtbl;
5321
5322interface IWICImagingFactory {
5323 CONST_VTBL IWICImagingFactoryVtbl* lpVtbl;
5324};
5325
5326#ifdef COBJMACROS
5327#ifndef WIDL_C_INLINE_WRAPPERS
5328/*** IUnknown methods ***/
5329#define IWICImagingFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5330#define IWICImagingFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
5331#define IWICImagingFactory_Release(This) (This)->lpVtbl->Release(This)
5332/*** IWICImagingFactory methods ***/
5333#define IWICImagingFactory_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder)
5334#define IWICImagingFactory_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder)
5335#define IWICImagingFactory_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder)
5336#define IWICImagingFactory_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo)
5337#define IWICImagingFactory_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder)
5338#define IWICImagingFactory_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder)
5339#define IWICImagingFactory_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette)
5340#define IWICImagingFactory_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter)
5341#define IWICImagingFactory_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler)
5342#define IWICImagingFactory_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper)
5343#define IWICImagingFactory_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator)
5344#define IWICImagingFactory_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream)
5345#define IWICImagingFactory_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext)
5346#define IWICImagingFactory_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform)
5347#define IWICImagingFactory_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap)
5348#define IWICImagingFactory_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap)
5349#define IWICImagingFactory_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap)
5350#define IWICImagingFactory_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap)
5351#define IWICImagingFactory_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap)
5352#define IWICImagingFactory_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap)
5353#define IWICImagingFactory_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown)
5354#define IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder)
5355#define IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder)
5356#define IWICImagingFactory_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter)
5357#define IWICImagingFactory_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter)
5358#else
5359/*** IUnknown methods ***/
5360static inline HRESULT IWICImagingFactory_QueryInterface(IWICImagingFactory* This,REFIID riid,void **ppvObject) {
5361 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5362}
5363static inline ULONG IWICImagingFactory_AddRef(IWICImagingFactory* This) {
5364 return This->lpVtbl->AddRef(This);
5365}
5366static inline ULONG IWICImagingFactory_Release(IWICImagingFactory* This) {
5367 return This->lpVtbl->Release(This);
5368}
5369/*** IWICImagingFactory methods ***/
5370static inline HRESULT IWICImagingFactory_CreateDecoderFromFilename(IWICImagingFactory* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5371 return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder);
5372}
5373static inline HRESULT IWICImagingFactory_CreateDecoderFromStream(IWICImagingFactory* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5374 return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder);
5375}
5376static inline HRESULT IWICImagingFactory_CreateDecoderFromFileHandle(IWICImagingFactory* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5377 return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder);
5378}
5379static inline HRESULT IWICImagingFactory_CreateComponentInfo(IWICImagingFactory* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) {
5380 return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo);
5381}
5382static inline HRESULT IWICImagingFactory_CreateDecoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) {
5383 return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder);
5384}
5385static inline HRESULT IWICImagingFactory_CreateEncoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) {
5386 return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder);
5387}
5388static inline HRESULT IWICImagingFactory_CreatePalette(IWICImagingFactory* This,IWICPalette **ppIPalette) {
5389 return This->lpVtbl->CreatePalette(This,ppIPalette);
5390}
5391static inline HRESULT IWICImagingFactory_CreateFormatConverter(IWICImagingFactory* This,IWICFormatConverter **ppIFormatConverter) {
5392 return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter);
5393}
5394static inline HRESULT IWICImagingFactory_CreateBitmapScaler(IWICImagingFactory* This,IWICBitmapScaler **ppIBitmapScaler) {
5395 return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler);
5396}
5397static inline HRESULT IWICImagingFactory_CreateBitmapClipper(IWICImagingFactory* This,IWICBitmapClipper **ppIBitmapClipper) {
5398 return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper);
5399}
5400static inline HRESULT IWICImagingFactory_CreateBitmapFlipRotator(IWICImagingFactory* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) {
5401 return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator);
5402}
5403static inline HRESULT IWICImagingFactory_CreateStream(IWICImagingFactory* This,IWICStream **ppIWICStream) {
5404 return This->lpVtbl->CreateStream(This,ppIWICStream);
5405}
5406static inline HRESULT IWICImagingFactory_CreateColorContext(IWICImagingFactory* This,IWICColorContext **ppIWICColorContext) {
5407 return This->lpVtbl->CreateColorContext(This,ppIWICColorContext);
5408}
5409static inline HRESULT IWICImagingFactory_CreateColorTransformer(IWICImagingFactory* This,IWICColorTransform **ppIWICColorTransform) {
5410 return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform);
5411}
5412static inline HRESULT IWICImagingFactory_CreateBitmap(IWICImagingFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
5413 return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap);
5414}
5415static inline HRESULT IWICImagingFactory_CreateBitmapFromSource(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
5416 return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap);
5417}
5418static inline HRESULT IWICImagingFactory_CreateBitmapFromSourceRect(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) {
5419 return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap);
5420}
5421static inline HRESULT IWICImagingFactory_CreateBitmapFromMemory(IWICImagingFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) {
5422 return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap);
5423}
5424static inline HRESULT IWICImagingFactory_CreateBitmapFromHBITMAP(IWICImagingFactory* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) {
5425 return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap);
5426}
5427static inline HRESULT IWICImagingFactory_CreateBitmapFromHICON(IWICImagingFactory* This,HICON hIcon,IWICBitmap **ppIBitmap) {
5428 return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap);
5429}
5430static inline HRESULT IWICImagingFactory_CreateComponentEnumerator(IWICImagingFactory* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) {
5431 return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown);
5432}
5433static inline HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
5434 return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder);
5435}
5436static inline HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
5437 return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder);
5438}
5439static inline HRESULT IWICImagingFactory_CreateQueryWriter(IWICImagingFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
5440 return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter);
5441}
5442static inline HRESULT IWICImagingFactory_CreateQueryWriterFromReader(IWICImagingFactory* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
5443 return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter);
5444}
5445#endif
5446#endif
5447
5448#endif
5449
5450
5451#endif /* __IWICImagingFactory_INTERFACE_DEFINED__ */
5452
5453/*****************************************************************************
5454 * IWICImagingFactory2 interface
5455 */
5456#ifndef __IWICImagingFactory2_INTERFACE_DEFINED__
5457#define __IWICImagingFactory2_INTERFACE_DEFINED__
5458
5459DEFINE_GUID(IID_IWICImagingFactory2, 0x7b816b45, 0x1996, 0x4476, 0xb1,0x32, 0xde,0x9e,0x24,0x7c,0x8a,0xf0);
5460#if defined(__cplusplus) && !defined(CINTERFACE)
5461MIDL_INTERFACE("7b816b45-1996-4476-b132-de9e247c8af0")
5462IWICImagingFactory2 : public IWICImagingFactory
5463{
5464 virtual HRESULT STDMETHODCALLTYPE CreateImageEncoder(
5465 ID2D1Device *device,
5466 IWICImageEncoder **encoder) = 0;
5467
5468};
5469#ifdef __CRT_UUID_DECL
5470__CRT_UUID_DECL(IWICImagingFactory2, 0x7b816b45, 0x1996, 0x4476, 0xb1,0x32, 0xde,0x9e,0x24,0x7c,0x8a,0xf0)
5471#endif
5472#else
5473typedef struct IWICImagingFactory2Vtbl {
5474 BEGIN_INTERFACE
5475
5476 /*** IUnknown methods ***/
5477 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5478 IWICImagingFactory2 *This,
5479 REFIID riid,
5480 void **ppvObject);
5481
5482 ULONG (STDMETHODCALLTYPE *AddRef)(
5483 IWICImagingFactory2 *This);
5484
5485 ULONG (STDMETHODCALLTYPE *Release)(
5486 IWICImagingFactory2 *This);
5487
5488 /*** IWICImagingFactory methods ***/
5489 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)(
5490 IWICImagingFactory2 *This,
5491 LPCWSTR wzFilename,
5492 const GUID *pguidVendor,
5493 DWORD dwDesiredAccess,
5494 WICDecodeOptions metadataOptions,
5495 IWICBitmapDecoder **ppIDecoder);
5496
5497 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)(
5498 IWICImagingFactory2 *This,
5499 IStream *pIStream,
5500 const GUID *pguidVendor,
5501 WICDecodeOptions metadataOptions,
5502 IWICBitmapDecoder **ppIDecoder);
5503
5504 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)(
5505 IWICImagingFactory2 *This,
5506 ULONG_PTR hFile,
5507 const GUID *pguidVendor,
5508 WICDecodeOptions metadataOptions,
5509 IWICBitmapDecoder **ppIDecoder);
5510
5511 HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)(
5512 IWICImagingFactory2 *This,
5513 REFCLSID clsidComponent,
5514 IWICComponentInfo **ppIInfo);
5515
5516 HRESULT (STDMETHODCALLTYPE *CreateDecoder)(
5517 IWICImagingFactory2 *This,
5518 REFGUID guidContainerFormat,
5519 const GUID *pguidVendor,
5520 IWICBitmapDecoder **ppIDecoder);
5521
5522 HRESULT (STDMETHODCALLTYPE *CreateEncoder)(
5523 IWICImagingFactory2 *This,
5524 REFGUID guidContainerFormat,
5525 const GUID *pguidVendor,
5526 IWICBitmapEncoder **ppIEncoder);
5527
5528 HRESULT (STDMETHODCALLTYPE *CreatePalette)(
5529 IWICImagingFactory2 *This,
5530 IWICPalette **ppIPalette);
5531
5532 HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)(
5533 IWICImagingFactory2 *This,
5534 IWICFormatConverter **ppIFormatConverter);
5535
5536 HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)(
5537 IWICImagingFactory2 *This,
5538 IWICBitmapScaler **ppIBitmapScaler);
5539
5540 HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)(
5541 IWICImagingFactory2 *This,
5542 IWICBitmapClipper **ppIBitmapClipper);
5543
5544 HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)(
5545 IWICImagingFactory2 *This,
5546 IWICBitmapFlipRotator **ppIBitmapFlipRotator);
5547
5548 HRESULT (STDMETHODCALLTYPE *CreateStream)(
5549 IWICImagingFactory2 *This,
5550 IWICStream **ppIWICStream);
5551
5552 HRESULT (STDMETHODCALLTYPE *CreateColorContext)(
5553 IWICImagingFactory2 *This,
5554 IWICColorContext **ppIWICColorContext);
5555
5556 HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)(
5557 IWICImagingFactory2 *This,
5558 IWICColorTransform **ppIWICColorTransform);
5559
5560 HRESULT (STDMETHODCALLTYPE *CreateBitmap)(
5561 IWICImagingFactory2 *This,
5562 UINT uiWidth,
5563 UINT uiHeight,
5564 REFWICPixelFormatGUID pixelFormat,
5565 WICBitmapCreateCacheOption option,
5566 IWICBitmap **ppIBitmap);
5567
5568 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)(
5569 IWICImagingFactory2 *This,
5570 IWICBitmapSource *piBitmapSource,
5571 WICBitmapCreateCacheOption option,
5572 IWICBitmap **ppIBitmap);
5573
5574 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)(
5575 IWICImagingFactory2 *This,
5576 IWICBitmapSource *piBitmapSource,
5577 UINT x,
5578 UINT y,
5579 UINT width,
5580 UINT height,
5581 IWICBitmap **ppIBitmap);
5582
5583 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)(
5584 IWICImagingFactory2 *This,
5585 UINT uiWidth,
5586 UINT uiHeight,
5587 REFWICPixelFormatGUID pixelFormat,
5588 UINT cbStride,
5589 UINT cbBufferSize,
5590 BYTE *pbBuffer,
5591 IWICBitmap **ppIBitmap);
5592
5593 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)(
5594 IWICImagingFactory2 *This,
5595 HBITMAP hBitmap,
5596 HPALETTE hPalette,
5597 WICBitmapAlphaChannelOption options,
5598 IWICBitmap **ppIBitmap);
5599
5600 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)(
5601 IWICImagingFactory2 *This,
5602 HICON hIcon,
5603 IWICBitmap **ppIBitmap);
5604
5605 HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)(
5606 IWICImagingFactory2 *This,
5607 DWORD componentTypes,
5608 DWORD options,
5609 IEnumUnknown **ppIEnumUnknown);
5610
5611 HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)(
5612 IWICImagingFactory2 *This,
5613 IWICBitmapDecoder *pIDecoder,
5614 IWICFastMetadataEncoder **ppIFastEncoder);
5615
5616 HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)(
5617 IWICImagingFactory2 *This,
5618 IWICBitmapFrameDecode *pIFrameDecoder,
5619 IWICFastMetadataEncoder **ppIFastEncoder);
5620
5621 HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)(
5622 IWICImagingFactory2 *This,
5623 REFGUID guidMetadataFormat,
5624 const GUID *pguidVendor,
5625 IWICMetadataQueryWriter **ppIQueryWriter);
5626
5627 HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)(
5628 IWICImagingFactory2 *This,
5629 IWICMetadataQueryReader *pIQueryReader,
5630 const GUID *pguidVendor,
5631 IWICMetadataQueryWriter **ppIQueryWriter);
5632
5633 /*** IWICImagingFactory2 methods ***/
5634 HRESULT (STDMETHODCALLTYPE *CreateImageEncoder)(
5635 IWICImagingFactory2 *This,
5636 ID2D1Device *device,
5637 IWICImageEncoder **encoder);
5638
5639 END_INTERFACE
5640} IWICImagingFactory2Vtbl;
5641
5642interface IWICImagingFactory2 {
5643 CONST_VTBL IWICImagingFactory2Vtbl* lpVtbl;
5644};
5645
5646#ifdef COBJMACROS
5647#ifndef WIDL_C_INLINE_WRAPPERS
5648/*** IUnknown methods ***/
5649#define IWICImagingFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5650#define IWICImagingFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
5651#define IWICImagingFactory2_Release(This) (This)->lpVtbl->Release(This)
5652/*** IWICImagingFactory methods ***/
5653#define IWICImagingFactory2_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder)
5654#define IWICImagingFactory2_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder)
5655#define IWICImagingFactory2_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder)
5656#define IWICImagingFactory2_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo)
5657#define IWICImagingFactory2_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder)
5658#define IWICImagingFactory2_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder)
5659#define IWICImagingFactory2_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette)
5660#define IWICImagingFactory2_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter)
5661#define IWICImagingFactory2_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler)
5662#define IWICImagingFactory2_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper)
5663#define IWICImagingFactory2_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator)
5664#define IWICImagingFactory2_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream)
5665#define IWICImagingFactory2_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext)
5666#define IWICImagingFactory2_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform)
5667#define IWICImagingFactory2_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap)
5668#define IWICImagingFactory2_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap)
5669#define IWICImagingFactory2_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap)
5670#define IWICImagingFactory2_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap)
5671#define IWICImagingFactory2_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap)
5672#define IWICImagingFactory2_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap)
5673#define IWICImagingFactory2_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown)
5674#define IWICImagingFactory2_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder)
5675#define IWICImagingFactory2_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder)
5676#define IWICImagingFactory2_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter)
5677#define IWICImagingFactory2_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter)
5678/*** IWICImagingFactory2 methods ***/
5679#define IWICImagingFactory2_CreateImageEncoder(This,device,encoder) (This)->lpVtbl->CreateImageEncoder(This,device,encoder)
5680#else
5681/*** IUnknown methods ***/
5682static inline HRESULT IWICImagingFactory2_QueryInterface(IWICImagingFactory2* This,REFIID riid,void **ppvObject) {
5683 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5684}
5685static inline ULONG IWICImagingFactory2_AddRef(IWICImagingFactory2* This) {
5686 return This->lpVtbl->AddRef(This);
5687}
5688static inline ULONG IWICImagingFactory2_Release(IWICImagingFactory2* This) {
5689 return This->lpVtbl->Release(This);
5690}
5691/*** IWICImagingFactory methods ***/
5692static inline HRESULT IWICImagingFactory2_CreateDecoderFromFilename(IWICImagingFactory2* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5693 return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder);
5694}
5695static inline HRESULT IWICImagingFactory2_CreateDecoderFromStream(IWICImagingFactory2* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5696 return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder);
5697}
5698static inline HRESULT IWICImagingFactory2_CreateDecoderFromFileHandle(IWICImagingFactory2* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5699 return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder);
5700}
5701static inline HRESULT IWICImagingFactory2_CreateComponentInfo(IWICImagingFactory2* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) {
5702 return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo);
5703}
5704static inline HRESULT IWICImagingFactory2_CreateDecoder(IWICImagingFactory2* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) {
5705 return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder);
5706}
5707static inline HRESULT IWICImagingFactory2_CreateEncoder(IWICImagingFactory2* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) {
5708 return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder);
5709}
5710static inline HRESULT IWICImagingFactory2_CreatePalette(IWICImagingFactory2* This,IWICPalette **ppIPalette) {
5711 return This->lpVtbl->CreatePalette(This,ppIPalette);
5712}
5713static inline HRESULT IWICImagingFactory2_CreateFormatConverter(IWICImagingFactory2* This,IWICFormatConverter **ppIFormatConverter) {
5714 return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter);
5715}
5716static inline HRESULT IWICImagingFactory2_CreateBitmapScaler(IWICImagingFactory2* This,IWICBitmapScaler **ppIBitmapScaler) {
5717 return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler);
5718}
5719static inline HRESULT IWICImagingFactory2_CreateBitmapClipper(IWICImagingFactory2* This,IWICBitmapClipper **ppIBitmapClipper) {
5720 return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper);
5721}
5722static inline HRESULT IWICImagingFactory2_CreateBitmapFlipRotator(IWICImagingFactory2* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) {
5723 return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator);
5724}
5725static inline HRESULT IWICImagingFactory2_CreateStream(IWICImagingFactory2* This,IWICStream **ppIWICStream) {
5726 return This->lpVtbl->CreateStream(This,ppIWICStream);
5727}
5728static inline HRESULT IWICImagingFactory2_CreateColorContext(IWICImagingFactory2* This,IWICColorContext **ppIWICColorContext) {
5729 return This->lpVtbl->CreateColorContext(This,ppIWICColorContext);
5730}
5731static inline HRESULT IWICImagingFactory2_CreateColorTransformer(IWICImagingFactory2* This,IWICColorTransform **ppIWICColorTransform) {
5732 return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform);
5733}
5734static inline HRESULT IWICImagingFactory2_CreateBitmap(IWICImagingFactory2* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
5735 return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap);
5736}
5737static inline HRESULT IWICImagingFactory2_CreateBitmapFromSource(IWICImagingFactory2* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
5738 return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap);
5739}
5740static inline HRESULT IWICImagingFactory2_CreateBitmapFromSourceRect(IWICImagingFactory2* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) {
5741 return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap);
5742}
5743static inline HRESULT IWICImagingFactory2_CreateBitmapFromMemory(IWICImagingFactory2* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) {
5744 return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap);
5745}
5746static inline HRESULT IWICImagingFactory2_CreateBitmapFromHBITMAP(IWICImagingFactory2* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) {
5747 return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap);
5748}
5749static inline HRESULT IWICImagingFactory2_CreateBitmapFromHICON(IWICImagingFactory2* This,HICON hIcon,IWICBitmap **ppIBitmap) {
5750 return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap);
5751}
5752static inline HRESULT IWICImagingFactory2_CreateComponentEnumerator(IWICImagingFactory2* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) {
5753 return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown);
5754}
5755static inline HRESULT IWICImagingFactory2_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory2* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
5756 return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder);
5757}
5758static inline HRESULT IWICImagingFactory2_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory2* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
5759 return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder);
5760}
5761static inline HRESULT IWICImagingFactory2_CreateQueryWriter(IWICImagingFactory2* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
5762 return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter);
5763}
5764static inline HRESULT IWICImagingFactory2_CreateQueryWriterFromReader(IWICImagingFactory2* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
5765 return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter);
5766}
5767/*** IWICImagingFactory2 methods ***/
5768static inline HRESULT IWICImagingFactory2_CreateImageEncoder(IWICImagingFactory2* This,ID2D1Device *device,IWICImageEncoder **encoder) {
5769 return This->lpVtbl->CreateImageEncoder(This,device,encoder);
5770}
5771#endif
5772#endif
5773
5774#endif
5775
5776
5777#endif /* __IWICImagingFactory2_INTERFACE_DEFINED__ */
5778
5779/*****************************************************************************
5780 * IWICEnumMetadataItem interface
5781 */
5782#ifndef __IWICEnumMetadataItem_INTERFACE_DEFINED__
5783#define __IWICEnumMetadataItem_INTERFACE_DEFINED__
5784
5785DEFINE_GUID(IID_IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33);
5786#if defined(__cplusplus) && !defined(CINTERFACE)
5787MIDL_INTERFACE("dc2bb46d-3f07-481e-8625-220c4aedbb33")
5788IWICEnumMetadataItem : public IUnknown
5789{
5790 virtual HRESULT STDMETHODCALLTYPE Next(
5791 ULONG celt,
5792 PROPVARIANT *rgeltSchema,
5793 PROPVARIANT *rgeltId,
5794 PROPVARIANT *rgeltValue,
5795 ULONG *pceltFetched) = 0;
5796
5797 virtual HRESULT STDMETHODCALLTYPE Skip(
5798 ULONG celt) = 0;
5799
5800 virtual HRESULT STDMETHODCALLTYPE Reset(
5801 ) = 0;
5802
5803 virtual HRESULT STDMETHODCALLTYPE Clone(
5804 IWICEnumMetadataItem **ppIEnumMetadataItem) = 0;
5805
5806};
5807#ifdef __CRT_UUID_DECL
5808__CRT_UUID_DECL(IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33)
5809#endif
5810#else
5811typedef struct IWICEnumMetadataItemVtbl {
5812 BEGIN_INTERFACE
5813
5814 /*** IUnknown methods ***/
5815 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5816 IWICEnumMetadataItem *This,
5817 REFIID riid,
5818 void **ppvObject);
5819
5820 ULONG (STDMETHODCALLTYPE *AddRef)(
5821 IWICEnumMetadataItem *This);
5822
5823 ULONG (STDMETHODCALLTYPE *Release)(
5824 IWICEnumMetadataItem *This);
5825
5826 /*** IWICEnumMetadataItem methods ***/
5827 HRESULT (STDMETHODCALLTYPE *Next)(
5828 IWICEnumMetadataItem *This,
5829 ULONG celt,
5830 PROPVARIANT *rgeltSchema,
5831 PROPVARIANT *rgeltId,
5832 PROPVARIANT *rgeltValue,
5833 ULONG *pceltFetched);
5834
5835 HRESULT (STDMETHODCALLTYPE *Skip)(
5836 IWICEnumMetadataItem *This,
5837 ULONG celt);
5838
5839 HRESULT (STDMETHODCALLTYPE *Reset)(
5840 IWICEnumMetadataItem *This);
5841
5842 HRESULT (STDMETHODCALLTYPE *Clone)(
5843 IWICEnumMetadataItem *This,
5844 IWICEnumMetadataItem **ppIEnumMetadataItem);
5845
5846 END_INTERFACE
5847} IWICEnumMetadataItemVtbl;
5848
5849interface IWICEnumMetadataItem {
5850 CONST_VTBL IWICEnumMetadataItemVtbl* lpVtbl;
5851};
5852
5853#ifdef COBJMACROS
5854#ifndef WIDL_C_INLINE_WRAPPERS
5855/*** IUnknown methods ***/
5856#define IWICEnumMetadataItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5857#define IWICEnumMetadataItem_AddRef(This) (This)->lpVtbl->AddRef(This)
5858#define IWICEnumMetadataItem_Release(This) (This)->lpVtbl->Release(This)
5859/*** IWICEnumMetadataItem methods ***/
5860#define IWICEnumMetadataItem_Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched) (This)->lpVtbl->Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched)
5861#define IWICEnumMetadataItem_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
5862#define IWICEnumMetadataItem_Reset(This) (This)->lpVtbl->Reset(This)
5863#define IWICEnumMetadataItem_Clone(This,ppIEnumMetadataItem) (This)->lpVtbl->Clone(This,ppIEnumMetadataItem)
5864#else
5865/*** IUnknown methods ***/
5866static inline HRESULT IWICEnumMetadataItem_QueryInterface(IWICEnumMetadataItem* This,REFIID riid,void **ppvObject) {
5867 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5868}
5869static inline ULONG IWICEnumMetadataItem_AddRef(IWICEnumMetadataItem* This) {
5870 return This->lpVtbl->AddRef(This);
5871}
5872static inline ULONG IWICEnumMetadataItem_Release(IWICEnumMetadataItem* This) {
5873 return This->lpVtbl->Release(This);
5874}
5875/*** IWICEnumMetadataItem methods ***/
5876static inline HRESULT IWICEnumMetadataItem_Next(IWICEnumMetadataItem* This,ULONG celt,PROPVARIANT *rgeltSchema,PROPVARIANT *rgeltId,PROPVARIANT *rgeltValue,ULONG *pceltFetched) {
5877 return This->lpVtbl->Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched);
5878}
5879static inline HRESULT IWICEnumMetadataItem_Skip(IWICEnumMetadataItem* This,ULONG celt) {
5880 return This->lpVtbl->Skip(This,celt);
5881}
5882static inline HRESULT IWICEnumMetadataItem_Reset(IWICEnumMetadataItem* This) {
5883 return This->lpVtbl->Reset(This);
5884}
5885static inline HRESULT IWICEnumMetadataItem_Clone(IWICEnumMetadataItem* This,IWICEnumMetadataItem **ppIEnumMetadataItem) {
5886 return This->lpVtbl->Clone(This,ppIEnumMetadataItem);
5887}
5888#endif
5889#endif
5890
5891#endif
5892
5893
5894#endif /* __IWICEnumMetadataItem_INTERFACE_DEFINED__ */
5895
5896/*****************************************************************************
5897 * IWICDdsDecoder interface
5898 */
5899#ifndef __IWICDdsDecoder_INTERFACE_DEFINED__
5900#define __IWICDdsDecoder_INTERFACE_DEFINED__
5901
5902DEFINE_GUID(IID_IWICDdsDecoder, 0x409cd537, 0x8532, 0x40cb, 0x97,0x74, 0xe2,0xfe,0xb2,0xdf,0x4e,0x9c);
5903#if defined(__cplusplus) && !defined(CINTERFACE)
5904MIDL_INTERFACE("409cd537-8532-40cb-9774-e2feb2df4e9c")
5905IWICDdsDecoder : public IUnknown
5906{
5907 virtual HRESULT STDMETHODCALLTYPE GetParameters(
5908 WICDdsParameters *parameters) = 0;
5909
5910 virtual HRESULT STDMETHODCALLTYPE GetFrame(
5911 UINT arrayIndex,
5912 UINT mipLevel,
5913 UINT sliceIndex,
5914 IWICBitmapFrameDecode **bitmapFrame) = 0;
5915
5916};
5917#ifdef __CRT_UUID_DECL
5918__CRT_UUID_DECL(IWICDdsDecoder, 0x409cd537, 0x8532, 0x40cb, 0x97,0x74, 0xe2,0xfe,0xb2,0xdf,0x4e,0x9c)
5919#endif
5920#else
5921typedef struct IWICDdsDecoderVtbl {
5922 BEGIN_INTERFACE
5923
5924 /*** IUnknown methods ***/
5925 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5926 IWICDdsDecoder *This,
5927 REFIID riid,
5928 void **ppvObject);
5929
5930 ULONG (STDMETHODCALLTYPE *AddRef)(
5931 IWICDdsDecoder *This);
5932
5933 ULONG (STDMETHODCALLTYPE *Release)(
5934 IWICDdsDecoder *This);
5935
5936 /*** IWICDdsDecoder methods ***/
5937 HRESULT (STDMETHODCALLTYPE *GetParameters)(
5938 IWICDdsDecoder *This,
5939 WICDdsParameters *parameters);
5940
5941 HRESULT (STDMETHODCALLTYPE *GetFrame)(
5942 IWICDdsDecoder *This,
5943 UINT arrayIndex,
5944 UINT mipLevel,
5945 UINT sliceIndex,
5946 IWICBitmapFrameDecode **bitmapFrame);
5947
5948 END_INTERFACE
5949} IWICDdsDecoderVtbl;
5950
5951interface IWICDdsDecoder {
5952 CONST_VTBL IWICDdsDecoderVtbl* lpVtbl;
5953};
5954
5955#ifdef COBJMACROS
5956#ifndef WIDL_C_INLINE_WRAPPERS
5957/*** IUnknown methods ***/
5958#define IWICDdsDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5959#define IWICDdsDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
5960#define IWICDdsDecoder_Release(This) (This)->lpVtbl->Release(This)
5961/*** IWICDdsDecoder methods ***/
5962#define IWICDdsDecoder_GetParameters(This,parameters) (This)->lpVtbl->GetParameters(This,parameters)
5963#define IWICDdsDecoder_GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame) (This)->lpVtbl->GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame)
5964#else
5965/*** IUnknown methods ***/
5966static inline HRESULT IWICDdsDecoder_QueryInterface(IWICDdsDecoder* This,REFIID riid,void **ppvObject) {
5967 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5968}
5969static inline ULONG IWICDdsDecoder_AddRef(IWICDdsDecoder* This) {
5970 return This->lpVtbl->AddRef(This);
5971}
5972static inline ULONG IWICDdsDecoder_Release(IWICDdsDecoder* This) {
5973 return This->lpVtbl->Release(This);
5974}
5975/*** IWICDdsDecoder methods ***/
5976static inline HRESULT IWICDdsDecoder_GetParameters(IWICDdsDecoder* This,WICDdsParameters *parameters) {
5977 return This->lpVtbl->GetParameters(This,parameters);
5978}
5979static inline HRESULT IWICDdsDecoder_GetFrame(IWICDdsDecoder* This,UINT arrayIndex,UINT mipLevel,UINT sliceIndex,IWICBitmapFrameDecode **bitmapFrame) {
5980 return This->lpVtbl->GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame);
5981}
5982#endif
5983#endif
5984
5985#endif
5986
5987
5988#endif /* __IWICDdsDecoder_INTERFACE_DEFINED__ */
5989
5990/*****************************************************************************
5991 * IWICDdsEncoder interface
5992 */
5993#ifndef __IWICDdsEncoder_INTERFACE_DEFINED__
5994#define __IWICDdsEncoder_INTERFACE_DEFINED__
5995
5996DEFINE_GUID(IID_IWICDdsEncoder, 0x5cacdb4c, 0x407e, 0x41b3, 0xb9,0x36, 0xd0,0xf0,0x10,0xcd,0x67,0x32);
5997#if defined(__cplusplus) && !defined(CINTERFACE)
5998MIDL_INTERFACE("5cacdb4c-407e-41b3-b936-d0f010cd6732")
5999IWICDdsEncoder : public IUnknown
6000{
6001 virtual HRESULT STDMETHODCALLTYPE SetParameters(
6002 WICDdsParameters *parameters) = 0;
6003
6004 virtual HRESULT STDMETHODCALLTYPE GetParameters(
6005 WICDdsParameters *parameters) = 0;
6006
6007 virtual HRESULT STDMETHODCALLTYPE CreateNewFrame(
6008 IWICBitmapFrameEncode **frameEncode,
6009 UINT *arrayIndex,
6010 UINT *mipLevel,
6011 UINT *sliceIndex) = 0;
6012
6013};
6014#ifdef __CRT_UUID_DECL
6015__CRT_UUID_DECL(IWICDdsEncoder, 0x5cacdb4c, 0x407e, 0x41b3, 0xb9,0x36, 0xd0,0xf0,0x10,0xcd,0x67,0x32)
6016#endif
6017#else
6018typedef struct IWICDdsEncoderVtbl {
6019 BEGIN_INTERFACE
6020
6021 /*** IUnknown methods ***/
6022 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6023 IWICDdsEncoder *This,
6024 REFIID riid,
6025 void **ppvObject);
6026
6027 ULONG (STDMETHODCALLTYPE *AddRef)(
6028 IWICDdsEncoder *This);
6029
6030 ULONG (STDMETHODCALLTYPE *Release)(
6031 IWICDdsEncoder *This);
6032
6033 /*** IWICDdsEncoder methods ***/
6034 HRESULT (STDMETHODCALLTYPE *SetParameters)(
6035 IWICDdsEncoder *This,
6036 WICDdsParameters *parameters);
6037
6038 HRESULT (STDMETHODCALLTYPE *GetParameters)(
6039 IWICDdsEncoder *This,
6040 WICDdsParameters *parameters);
6041
6042 HRESULT (STDMETHODCALLTYPE *CreateNewFrame)(
6043 IWICDdsEncoder *This,
6044 IWICBitmapFrameEncode **frameEncode,
6045 UINT *arrayIndex,
6046 UINT *mipLevel,
6047 UINT *sliceIndex);
6048
6049 END_INTERFACE
6050} IWICDdsEncoderVtbl;
6051
6052interface IWICDdsEncoder {
6053 CONST_VTBL IWICDdsEncoderVtbl* lpVtbl;
6054};
6055
6056#ifdef COBJMACROS
6057#ifndef WIDL_C_INLINE_WRAPPERS
6058/*** IUnknown methods ***/
6059#define IWICDdsEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6060#define IWICDdsEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
6061#define IWICDdsEncoder_Release(This) (This)->lpVtbl->Release(This)
6062/*** IWICDdsEncoder methods ***/
6063#define IWICDdsEncoder_SetParameters(This,parameters) (This)->lpVtbl->SetParameters(This,parameters)
6064#define IWICDdsEncoder_GetParameters(This,parameters) (This)->lpVtbl->GetParameters(This,parameters)
6065#define IWICDdsEncoder_CreateNewFrame(This,frameEncode,arrayIndex,mipLevel,sliceIndex) (This)->lpVtbl->CreateNewFrame(This,frameEncode,arrayIndex,mipLevel,sliceIndex)
6066#else
6067/*** IUnknown methods ***/
6068static inline HRESULT IWICDdsEncoder_QueryInterface(IWICDdsEncoder* This,REFIID riid,void **ppvObject) {
6069 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6070}
6071static inline ULONG IWICDdsEncoder_AddRef(IWICDdsEncoder* This) {
6072 return This->lpVtbl->AddRef(This);
6073}
6074static inline ULONG IWICDdsEncoder_Release(IWICDdsEncoder* This) {
6075 return This->lpVtbl->Release(This);
6076}
6077/*** IWICDdsEncoder methods ***/
6078static inline HRESULT IWICDdsEncoder_SetParameters(IWICDdsEncoder* This,WICDdsParameters *parameters) {
6079 return This->lpVtbl->SetParameters(This,parameters);
6080}
6081static inline HRESULT IWICDdsEncoder_GetParameters(IWICDdsEncoder* This,WICDdsParameters *parameters) {
6082 return This->lpVtbl->GetParameters(This,parameters);
6083}
6084static inline HRESULT IWICDdsEncoder_CreateNewFrame(IWICDdsEncoder* This,IWICBitmapFrameEncode **frameEncode,UINT *arrayIndex,UINT *mipLevel,UINT *sliceIndex) {
6085 return This->lpVtbl->CreateNewFrame(This,frameEncode,arrayIndex,mipLevel,sliceIndex);
6086}
6087#endif
6088#endif
6089
6090#endif
6091
6092
6093#endif /* __IWICDdsEncoder_INTERFACE_DEFINED__ */
6094
6095/*****************************************************************************
6096 * IWICDdsFrameDecode interface
6097 */
6098#ifndef __IWICDdsFrameDecode_INTERFACE_DEFINED__
6099#define __IWICDdsFrameDecode_INTERFACE_DEFINED__
6100
6101DEFINE_GUID(IID_IWICDdsFrameDecode, 0x3d4c0c61, 0x18a4, 0x41e4, 0xbd,0x80, 0x48,0x1a,0x4f,0xc9,0xf4,0x64);
6102#if defined(__cplusplus) && !defined(CINTERFACE)
6103MIDL_INTERFACE("3d4c0c61-18a4-41e4-bd80-481a4fc9f464")
6104IWICDdsFrameDecode : public IUnknown
6105{
6106 virtual HRESULT STDMETHODCALLTYPE GetSizeInBlocks(
6107 UINT *widthInBlocks,
6108 UINT *heightInBlocks) = 0;
6109
6110 virtual HRESULT STDMETHODCALLTYPE GetFormatInfo(
6111 WICDdsFormatInfo *formatInfo) = 0;
6112
6113 virtual HRESULT STDMETHODCALLTYPE CopyBlocks(
6114 const WICRect *boundsInBlocks,
6115 UINT stride,
6116 UINT bufferSize,
6117 BYTE *buffer) = 0;
6118
6119};
6120#ifdef __CRT_UUID_DECL
6121__CRT_UUID_DECL(IWICDdsFrameDecode, 0x3d4c0c61, 0x18a4, 0x41e4, 0xbd,0x80, 0x48,0x1a,0x4f,0xc9,0xf4,0x64)
6122#endif
6123#else
6124typedef struct IWICDdsFrameDecodeVtbl {
6125 BEGIN_INTERFACE
6126
6127 /*** IUnknown methods ***/
6128 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6129 IWICDdsFrameDecode *This,
6130 REFIID riid,
6131 void **ppvObject);
6132
6133 ULONG (STDMETHODCALLTYPE *AddRef)(
6134 IWICDdsFrameDecode *This);
6135
6136 ULONG (STDMETHODCALLTYPE *Release)(
6137 IWICDdsFrameDecode *This);
6138
6139 /*** IWICDdsFrameDecode methods ***/
6140 HRESULT (STDMETHODCALLTYPE *GetSizeInBlocks)(
6141 IWICDdsFrameDecode *This,
6142 UINT *widthInBlocks,
6143 UINT *heightInBlocks);
6144
6145 HRESULT (STDMETHODCALLTYPE *GetFormatInfo)(
6146 IWICDdsFrameDecode *This,
6147 WICDdsFormatInfo *formatInfo);
6148
6149 HRESULT (STDMETHODCALLTYPE *CopyBlocks)(
6150 IWICDdsFrameDecode *This,
6151 const WICRect *boundsInBlocks,
6152 UINT stride,
6153 UINT bufferSize,
6154 BYTE *buffer);
6155
6156 END_INTERFACE
6157} IWICDdsFrameDecodeVtbl;
6158
6159interface IWICDdsFrameDecode {
6160 CONST_VTBL IWICDdsFrameDecodeVtbl* lpVtbl;
6161};
6162
6163#ifdef COBJMACROS
6164#ifndef WIDL_C_INLINE_WRAPPERS
6165/*** IUnknown methods ***/
6166#define IWICDdsFrameDecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6167#define IWICDdsFrameDecode_AddRef(This) (This)->lpVtbl->AddRef(This)
6168#define IWICDdsFrameDecode_Release(This) (This)->lpVtbl->Release(This)
6169/*** IWICDdsFrameDecode methods ***/
6170#define IWICDdsFrameDecode_GetSizeInBlocks(This,widthInBlocks,heightInBlocks) (This)->lpVtbl->GetSizeInBlocks(This,widthInBlocks,heightInBlocks)
6171#define IWICDdsFrameDecode_GetFormatInfo(This,formatInfo) (This)->lpVtbl->GetFormatInfo(This,formatInfo)
6172#define IWICDdsFrameDecode_CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer) (This)->lpVtbl->CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer)
6173#else
6174/*** IUnknown methods ***/
6175static inline HRESULT IWICDdsFrameDecode_QueryInterface(IWICDdsFrameDecode* This,REFIID riid,void **ppvObject) {
6176 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6177}
6178static inline ULONG IWICDdsFrameDecode_AddRef(IWICDdsFrameDecode* This) {
6179 return This->lpVtbl->AddRef(This);
6180}
6181static inline ULONG IWICDdsFrameDecode_Release(IWICDdsFrameDecode* This) {
6182 return This->lpVtbl->Release(This);
6183}
6184/*** IWICDdsFrameDecode methods ***/
6185static inline HRESULT IWICDdsFrameDecode_GetSizeInBlocks(IWICDdsFrameDecode* This,UINT *widthInBlocks,UINT *heightInBlocks) {
6186 return This->lpVtbl->GetSizeInBlocks(This,widthInBlocks,heightInBlocks);
6187}
6188static inline HRESULT IWICDdsFrameDecode_GetFormatInfo(IWICDdsFrameDecode* This,WICDdsFormatInfo *formatInfo) {
6189 return This->lpVtbl->GetFormatInfo(This,formatInfo);
6190}
6191static inline HRESULT IWICDdsFrameDecode_CopyBlocks(IWICDdsFrameDecode* This,const WICRect *boundsInBlocks,UINT stride,UINT bufferSize,BYTE *buffer) {
6192 return This->lpVtbl->CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer);
6193}
6194#endif
6195#endif
6196
6197#endif
6198
6199
6200#endif /* __IWICDdsFrameDecode_INTERFACE_DEFINED__ */
6201
6202HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);
6203HRESULT WINAPI WICCreateBitmapFromSection(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, IWICBitmap **bitmap);
6204HRESULT WINAPI WICCreateBitmapFromSectionEx(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, WICSectionAccessLevel access, IWICBitmap **bitmap);
6205HRESULT WINAPI WICMapGuidToShortName(REFGUID,UINT,WCHAR *,UINT *);
6206HRESULT WINAPI WICMapShortNameToGuid(PCWSTR,GUID *);
6207HRESULT WINAPI WICMapSchemaToName(REFGUID,LPWSTR,UINT,WCHAR *,UINT *);
6208DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);
6209DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);
6210DEFINE_GUID(CLSID_WICPngDecoder1, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);
6211DEFINE_GUID(CLSID_WICPngDecoder2, 0xe018945b,0xaa86,0x4008,0x9b,0xd4,0x67,0x77,0xa1,0xe4,0x0c,0x11);
6212DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);
6213DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);
6214DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);
6215DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);
6216DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);
6217DEFINE_GUID(CLSID_WICDdsDecoder, 0x9053699f,0xa341,0x429d,0x9e,0x90,0xee,0x43,0x7c,0xf8,0x0c,0x73);
6218DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82);
6219DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);
6220DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76);
6221DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd);
6222DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8);
6223DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2);
6224DEFINE_GUID(CLSID_WICDdsEncoder, 0xa61dde94,0x66ce,0x4ac1,0x88,0x1b,0x71,0x68,0x05,0x88,0x89,0x5e);
6225DEFINE_GUID(CLSID_WICAdngDecoder, 0x981d9411,0x909e,0x42a7,0x8f,0x5d,0xa7,0x47,0xff,0x05,0x2e,0xdb);
6226DEFINE_GUID(CLSID_WICJpegQualcommPhoneEncoder, 0x68ed5c62,0xf534,0x4979,0xb2,0xb3,0x68,0x6a,0x12,0xb2,0xb3,0x4c);
6227DEFINE_GUID(CLSID_WICHeifDecoder, 0xe9a4a80a,0x44fe,0x4de4,0x89,0x71,0x71,0x50,0xb1,0x0a,0x51,0x99);
6228DEFINE_GUID(CLSID_WICHeifEncoder, 0x0dbecec1,0x9eb3,0x4860,0x9c,0x6f,0xdd,0xbe,0x86,0x63,0x45,0x75);
6229DEFINE_GUID(CLSID_WICWebpDecoder, 0x7693e886,0x51c9,0x4070,0x84,0x19,0x9f,0x70,0x73,0x8e,0xc8,0xfa);
6230DEFINE_GUID(CLSID_WICRAWDecoder, 0x41945702,0x8302,0x44a6,0x94,0x45,0xac,0x98,0xe8,0xaf,0xa0,0x86);
6231DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1);
6232DEFINE_GUID(CLSID_WICFormatConverterHighColor, 0xac75d454,0x9f37,0x48f8,0xb9,0x72,0x4e,0x19,0xbc,0x85,0x60,0x11);
6233DEFINE_GUID(CLSID_WICFormatConverterNChannel, 0xc17cabb2,0xd4a3,0x47d7,0xa5,0x57,0x33,0x9b,0x2e,0xfb,0xd4,0xf1);
6234DEFINE_GUID(CLSID_WICFormatConverterWMPhoto, 0x9cb5172b,0xd600,0x46ba,0xab,0x77,0x77,0xbb,0x7e,0x3a,0x00,0xd9);
6235DEFINE_GUID(CLSID_WICPlanarFormatConverter, 0x184132b8,0x32f8,0x4784,0x91,0x31,0xdd,0x72,0x24,0xb2,0x34,0x38);
6236DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);
6237DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);
6238DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);
6239DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);
6240DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);
6241DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);
6242DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);
6243DEFINE_GUID(GUID_ContainerFormatDds, 0x9967cb95,0x2e85,0x4ac8,0x8c,0xa2,0x83,0xd7,0xcc,0xd4,0x25,0xc9);
6244DEFINE_GUID(GUID_ContainerFormatAdng, 0xf3ff6d0d,0x38c0,0x41c4,0xb1,0xfe,0x1f,0x38,0x24,0xf1,0x7b,0x84);
6245DEFINE_GUID(GUID_ContainerFormatHeif, 0xe1e62521,0x6787,0x405b,0xa3,0x39,0x50,0x07,0x15,0xb5,0x76,0x3f);
6246DEFINE_GUID(GUID_ContainerFormatWebp, 0xe094b0e2,0x67f2,0x45b3,0xb0,0xea,0x11,0x53,0x37,0xca,0x7c,0xf3);
6247DEFINE_GUID(GUID_ContainerFormatRaw, 0xfe99ce60,0xf19c,0x433c,0xa3,0xae,0x00,0xac,0xef,0xa9,0xca,0x21);
6248DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);
6249DEFINE_GUID(GUID_VendorMicrosoftBuiltIn, 0x257a30fd,0x6b6,0x462b,0xae,0xa4,0x63,0xf7,0xb,0x86,0xe5,0x33);
6250DEFINE_GUID(CLSID_WICImagingCategories, 0xfae3d380,0xfea4,0x4623,0x8c,0x75,0xc6,0xb6,0x11,0x10,0xb6,0x81);
6251DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);
6252DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e);
6253DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48);
6254DEFINE_GUID(CATID_WICMetadataReader, 0x05af94d8,0x7174,0x4cd2,0xbe,0x4a,0x41,0x24,0xb8,0x0e,0xe4,0xb8);
6255DEFINE_GUID(CATID_WICMetadataWriter, 0xabe3b9a4,0x257d,0x4b97,0xbd,0x1a,0x29,0x4a,0xf4,0x96,0x22,0x2e);
6256DEFINE_GUID(CATID_WICPixelFormats, 0x2b46e70f,0xcda7,0x473e,0x89,0xf6,0xdc,0x96,0x30,0xa2,0x39,0x0b);
6257/* Begin additional prototypes for all interfaces */
6258
6259ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
6260unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
6261unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
6262void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
6263ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
6264unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
6265unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
6266void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
6267ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
6268unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
6269unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
6270void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
6271ULONG __RPC_USER HPALETTE_UserSize (ULONG *, ULONG, HPALETTE *);
6272unsigned char * __RPC_USER HPALETTE_UserMarshal (ULONG *, unsigned char *, HPALETTE *);
6273unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
6274void __RPC_USER HPALETTE_UserFree (ULONG *, HPALETTE *);
6275ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *);
6276unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *);
6277unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
6278void __RPC_USER HICON_UserFree (ULONG *, HICON *);
6279
6280/* End additional prototypes */
6281
6282#ifdef __cplusplus
6283}
6284#endif
6285
6286#endif /* __wincodec_h__ */