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