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