Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwincodec.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright 2009 Vincent Povirk for CodeWeavers 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 import "wtypes.idl"; 00020 import "propidl.idl"; 00021 import "objidl.idl"; 00022 import "ocidl.idl"; 00023 00024 cpp_quote("#define WINCODEC_SDK_VERSION 0x0236") 00025 00026 #define CODEC_FORCE_DWORD 0x7fffffff 00027 00028 typedef enum WICDecodeOptions { 00029 WICDecodeMetadataCacheOnDemand = 0x00000000, 00030 WICDecodeMetadataCacheOnLoad = 0x00000001, 00031 WICMETADATACACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD 00032 } WICDecodeOptions; 00033 00034 typedef enum WICBitmapCreateCacheOption { 00035 WICBitmapNoCache = 0x00000000, 00036 WICBitmapCacheOnDemand = 0x00000001, 00037 WICBitmapCacheOnLoad = 0x00000002, 00038 WICBITMAPCREATECACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD 00039 } WICBitmapCreateCacheOption; 00040 00041 typedef enum WICBitmapAlphaChannelOption { 00042 WICBitmapUseAlpha = 0x00000000, 00043 WICBitmapUsePremultipliedAlpha = 0x00000001, 00044 WICBitmapIgnoreAlpha = 0x00000002, 00045 WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD 00046 } WICBitmapAlphaChannelOption; 00047 00048 typedef enum WICBitmapDecoderCapabilities { 00049 WICBitmapDecoderCapabilitySameEncoder = 0x00000001, 00050 WICBitmapDecoderCapabilityCanDecodeAllImages = 0x00000002, 00051 WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x00000004, 00052 WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x00000008, 00053 WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x00000010, 00054 } WICBitmapDecoderCapabilities; 00055 00056 typedef enum WICBitmapDitherType { 00057 WICBitmapDitherTypeNone = 0x00000000, 00058 WICBitmapDitherTypeSolid = 0x00000000, 00059 WICBitmapDitherTypeOrdered4x4 = 0x00000001, 00060 WICBitmapDitherTypeOrdered8x8 = 0x00000002, 00061 WICBitmapDitherTypeOrdered16x16 = 0x00000003, 00062 WICBitmapDitherTypeSpiral4x4 = 0x00000004, 00063 WICBitmapDitherTypeSpiral8x8 = 0x00000005, 00064 WICBitmapDitherTypeDualSpiral4x4 = 0x00000006, 00065 WICBitmapDitherTypeDualSpiral8x8 = 0x00000007, 00066 WICBitmapDitherTypeErrorDiffusion = 0x00000008, 00067 WICBITMAPDITHERTYPE_FORCE_DWORD = CODEC_FORCE_DWORD 00068 } WICBitmapDitherType; 00069 00070 typedef enum WICBitmapEncoderCacheOption { 00071 WICBitmapEncoderCacheInMemory = 0x00000000, 00072 WICBitmapEncoderCacheTempFile = 0x00000001, 00073 WICBitmapEncoderNoCache = 0x00000002, 00074 WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD 00075 } WICBitmapEncoderCacheOption; 00076 00077 typedef enum WICBitmapInterpolationMode { 00078 WICBitmapInterpolationModeNearestNeighbor = 0x00000000, 00079 WICBitmapInterpolationModeLinear = 0x00000001, 00080 WICBitmapInterpolationModeCubic = 0x00000002, 00081 WICBitmapInterpolationModeFaint = 0x00000003, 00082 WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = CODEC_FORCE_DWORD 00083 } WICBitmapInterpolationMode; 00084 00085 typedef enum WICBitmapPaletteType { 00086 WICBitmapPaletteTypeCustom = 0x00000000, 00087 WICBitmapPaletteTypeMedianCut = 0x00000001, 00088 WICBitmapPaletteTypeFixedBW = 0x00000002, 00089 WICBitmapPaletteTypeFixedHalftone8 = 0x00000003, 00090 WICBitmapPaletteTypeFixedHalftone27 = 0x00000004, 00091 WICBitmapPaletteTypeFixedHalftone64 = 0x00000005, 00092 WICBitmapPaletteTypeFixedHalftone125 = 0x00000006, 00093 WICBitmapPaletteTypeFixedHalftone216 = 0x00000007, 00094 WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216, 00095 WICBitmapPaletteTypeFixedHalftone252 = 0x00000008, 00096 WICBitmapPaletteTypeFixedHalftone256 = 0x00000009, 00097 WICBitmapPaletteTypeFixedGray4 = 0x0000000A, 00098 WICBitmapPaletteTypeFixedGray16 = 0x0000000B, 00099 WICBitmapPaletteTypeFixedGray256 = 0x0000000C, 00100 WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD 00101 } WICBitmapPaletteType; 00102 00103 typedef enum WICBitmapTransformOptions { 00104 WICBitmapTransformRotate0 = 0x00000000, 00105 WICBitmapTransformRotate90 = 0x00000001, 00106 WICBitmapTransformRotate180 = 0x00000002, 00107 WICBitmapTransformRotate270 = 0x00000003, 00108 WICBitmapTransformFlipHorizontal = 0x00000008, 00109 WICBitmapTransformFlipVertical = 0x00000010, 00110 WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD 00111 } WICBitmapTransformOptions; 00112 00113 typedef enum WICColorContextType { 00114 WICColorContextUninitialized = 0x00000000, 00115 WICColorContextProfile = 0x00000001, 00116 WICColorContextExifColorSpace = 0x00000002 00117 } WICColorContextType; 00118 00119 typedef enum WICComponentType { 00120 WICDecoder = 0x00000001, 00121 WICEncoder = 0x00000002, 00122 WICPixelFormatConverter = 0x00000004, 00123 WICMetadataReader = 0x00000008, 00124 WICMetadataWriter = 0x00000010, 00125 WICPixelFormat = 0x00000020, 00126 WICCOMPONENTTYPE_FORCE_DWORD = CODEC_FORCE_DWORD 00127 } WICComponentType; 00128 00129 typedef enum WICComponentSigning { 00130 WICComponentSigned = 0x00000001, 00131 WICComponentUnsigned = 0x00000002, 00132 WICComponentSafe = 0x00000004, 00133 WICComponentDisabled = 0x80000000 00134 } WICComponentSigning; 00135 00136 typedef enum WICComponentEnumerateOptions { 00137 WICComponentEnumerateDefault = 0x00000000, 00138 WICComponentEnumerateRefresh = 0x00000001, 00139 WICComponentEnumerateBuiltInOnly = 0x20000000, 00140 WICComponentEnumerateUnsigned = 0x40000000, 00141 WICComponentEnumerateDisabled = 0x80000000 00142 } WICComponentEnumerateOptions; 00143 00144 typedef GUID WICPixelFormatGUID; 00145 typedef REFGUID REFWICPixelFormatGUID; 00146 00147 cpp_quote("DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);") 00148 cpp_quote("#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare") 00149 00150 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);") 00151 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);") 00152 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);") 00153 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);") 00154 00155 cpp_quote("DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05);") 00156 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06);") 00157 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07);") 00158 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08);") 00159 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b);") 00160 00161 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);") 00162 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a);") 00163 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2);") 00164 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);") 00165 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);") 00166 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f);") 00167 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10);") 00168 00169 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15);") 00170 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16);") 00171 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17);") 00172 00173 cpp_quote("DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4fbe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c);") 00174 00175 typedef struct WICRect { 00176 INT X; 00177 INT Y; 00178 INT Width; 00179 INT Height; 00180 } WICRect; 00181 00182 typedef struct WICBitmapPattern { 00183 ULARGE_INTEGER Position; 00184 ULONG Length; 00185 BYTE *Pattern; 00186 BYTE *Mask; 00187 BOOL EndOfStream; 00188 } WICBitmapPattern; 00189 00190 typedef UINT32 WICColor; 00191 00192 cpp_quote("#define WINCODEC_ERR_WRONGSTATE 0x88982f04") 00193 cpp_quote("#define WINCODEC_ERR_VALUEOUTOFRANGE 0x88982f05") 00194 cpp_quote("#define WINCODEC_ERR_NOTINITIALIZED 0x88982f0c") 00195 cpp_quote("#define WINCODEC_ERR_CODECNOTHUMBNAIL 0x88982f44") 00196 cpp_quote("#define WINCODEC_ERR_PALETTEUNAVAILABLE 0x88982f45") 00197 cpp_quote("#define WINCODEC_ERR_COMPONENTNOTFOUND 0x88982f50") 00198 cpp_quote("#define WINCODEC_ERR_FRAMEMISSING 0x88982f62") 00199 cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT 0x88982f80") 00200 cpp_quote("#define WINCODEC_ERR_UNSUPPORTEDOPERATION 0x88982f81") 00201 cpp_quote("#define WINCODEC_ERR_INSUFFICIENTBUFFER 0x88982f8c") 00202 00203 interface IWICPalette; 00204 00205 [ 00206 object, 00207 uuid(3c613a02-34b2-44ea-9a7c-45aea9c6fd6d) 00208 ] 00209 interface IWICColorContext : IUnknown 00210 { 00211 HRESULT InitializeFromFilename( 00212 [in] LPCWSTR wzFilename); 00213 00214 HRESULT InitializeFromMemory( 00215 [in, size_is(cbBufferSize)] const BYTE *pbBuffer, 00216 [in] UINT cbBufferSize); 00217 00218 HRESULT InitializeFromExifColorSpace( 00219 [in] UINT value); 00220 00221 HRESULT GetType( 00222 [out] WICColorContextType *pType); 00223 00224 HRESULT GetProfileBytes( 00225 [in] UINT cbBuffer, 00226 [in, out, unique, size_is(cbBuffer)] BYTE *pbBuffer, 00227 [out] UINT *pcbActual); 00228 00229 HRESULT GetExifColorSpace( 00230 [out] UINT *pValue); 00231 } 00232 00233 [ 00234 object, 00235 uuid(00000120-a8f2-4877-ba0a-fd2b6645fb94) 00236 ] 00237 interface IWICBitmapSource : IUnknown 00238 { 00239 HRESULT GetSize( 00240 [out] UINT *puiWidth, 00241 [out] UINT *puiHeight); 00242 00243 HRESULT GetPixelFormat( 00244 [out] WICPixelFormatGUID *pPixelFormat); 00245 00246 HRESULT GetResolution( 00247 [out] double *pDpiX, 00248 [out] double *pDpiY); 00249 00250 HRESULT CopyPalette( 00251 [in] IWICPalette *pIPalette); 00252 00253 HRESULT CopyPixels( 00254 [in] const WICRect *prc, 00255 [in] UINT cbStride, 00256 [in] UINT cbBufferSize, 00257 [out, size_is(cbBufferSize)] BYTE *pbBuffer); 00258 } 00259 00260 [ 00261 object, 00262 uuid(00000123-a8f2-4877-ba0a-fd2b6645fb94) 00263 ] 00264 interface IWICBitmapLock : IUnknown 00265 { 00266 HRESULT GetSize( 00267 [out] UINT *pWidth, 00268 [out] UINT *pHeight); 00269 00270 HRESULT GetStride( 00271 [out] UINT *pcbStride); 00272 00273 HRESULT GetDataPointer( 00274 [out] UINT *pcbBufferSize, 00275 [out, size_is(,*pcbBufferSize)] BYTE **ppbData); 00276 00277 HRESULT GetPixelFormat( 00278 [out] WICPixelFormatGUID *pPixelFormat); 00279 } 00280 00281 [ 00282 object, 00283 uuid(5009834f-2d6a-41ce-9e1b-17c5aff7a782) 00284 ] 00285 interface IWICBitmapFlipRotator : IWICBitmapSource 00286 { 00287 HRESULT Initialize( 00288 [in] IWICBitmapSource *pISource, 00289 [in] WICBitmapTransformOptions options); 00290 } 00291 00292 [ 00293 object, 00294 uuid(00000121-a8f2-4877-ba0a-fd2b6645fb94) 00295 ] 00296 interface IWICBitmap : IWICBitmapSource 00297 { 00298 HRESULT Lock( 00299 [in] const WICRect *prcLock, 00300 [in] DWORD flags, 00301 [out] IWICBitmapLock **ppILock); 00302 00303 HRESULT SetPalette( 00304 [in] IWICPalette *pIPalette); 00305 00306 HRESULT SetResolution( 00307 [in] double dpiX, 00308 [in] double dpiY); 00309 } 00310 00311 [ 00312 object, 00313 uuid(00000040-a8f2-4877-ba0a-fd2b6645fb94) 00314 ] 00315 interface IWICPalette : IUnknown 00316 { 00317 HRESULT InitializePredefined( 00318 [in] WICBitmapPaletteType ePaletteType, 00319 [in] BOOL fAddTransparentColor); 00320 00321 HRESULT InitializeCustom( 00322 [in, size_is(colorCount)] WICColor *pColors, 00323 [in] UINT colorCount); 00324 00325 HRESULT InitializeFromBitmap( 00326 [in] IWICBitmapSource *pISurface, 00327 [in] UINT colorCount, 00328 [in] BOOL fAddTransparentColor); 00329 00330 HRESULT InitializeFromPalette( 00331 [in] IWICPalette *pIPalette); 00332 00333 HRESULT GetType( 00334 [out] WICBitmapPaletteType *pePaletteType); 00335 00336 HRESULT GetColorCount( 00337 [out] UINT *pcCount); 00338 00339 HRESULT GetColors( 00340 [in] UINT colorCount, 00341 [out, size_is(colorCount)] WICColor *pColors, 00342 [out] UINT *pcActualColors); 00343 00344 HRESULT IsBlackWhite( 00345 [out] BOOL *pfIsBlackWhite); 00346 00347 HRESULT IsGrayscale( 00348 [out] BOOL *pfIsGrayscale); 00349 00350 HRESULT HasAlpha( 00351 [out] BOOL *pfHasAlpha); 00352 } 00353 00354 [ 00355 object, 00356 uuid(23bc3f0a-698b-4357-886b-f24d50671334) 00357 ] 00358 interface IWICComponentInfo : IUnknown 00359 { 00360 HRESULT GetComponentType( 00361 [out] WICComponentType *pType); 00362 00363 HRESULT GetCLSID( 00364 [out] CLSID *pclsid); 00365 00366 HRESULT GetSigningStatus( 00367 [out] DWORD *pStatus); 00368 00369 HRESULT GetAuthor( 00370 [in] UINT cchAuthor, 00371 [in, out, unique, size_is(cchAuthor)] WCHAR *wzAuthor, 00372 [out] UINT *pcchActual); 00373 00374 HRESULT GetVendorGUID( 00375 [out] GUID *pguidVendor); 00376 00377 HRESULT GetVersion( 00378 [in] UINT cchVersion, 00379 [in, out, unique, size_is(cchVersion)] WCHAR *wzVersion, 00380 [out] UINT *pcchActual); 00381 00382 HRESULT GetSpecVersion( 00383 [in] UINT cchSpecVersion, 00384 [in, out, unique, size_is(cchSpecVersion)] WCHAR *wzSpecVersion, 00385 [out] UINT *pcchActual); 00386 00387 HRESULT GetFriendlyName( 00388 [in] UINT cchFriendlyName, 00389 [in, out, unique, size_is(cchFriendlyName)] WCHAR *wzFriendlyName, 00390 [out] UINT *pcchActual); 00391 } 00392 00393 [ 00394 object, 00395 uuid(30989668-e1c9-4597-b395-458eedb808df) 00396 ] 00397 interface IWICMetadataQueryReader : IUnknown 00398 { 00399 HRESULT GetContainerFormat( 00400 [out] GUID *pguidContainerFormat); 00401 00402 HRESULT GetLocation( 00403 [in] UINT cchMaxLength, 00404 [in, out, unique, size_is(cchMaxLength)] WCHAR *wzNamespace, 00405 [out] UINT *pcchActualLength); 00406 00407 HRESULT GetMetadataByName( 00408 [in] LPCWSTR wzName, 00409 [in, out, unique] PROPVARIANT *pvarValue); 00410 00411 HRESULT GetEnumerator( 00412 [out] IEnumString **ppIEnumString); 00413 } 00414 00415 [ 00416 object, 00417 uuid(a721791a-0def-4d06-bd91-2118bf1db10b) 00418 ] 00419 interface IWICMetadataQueryWriter : IWICMetadataQueryReader 00420 { 00421 HRESULT SetMetadataByName( 00422 [in] LPCWSTR wzName, 00423 [in] const PROPVARIANT *pvarValue); 00424 00425 HRESULT RemoveMetadataByName( 00426 [in] LPCWSTR wzName); 00427 } 00428 00429 [ 00430 object, 00431 uuid(3b16811b-6a43-4ec9-a813-3d930c13b940) 00432 ] 00433 interface IWICBitmapFrameDecode : IWICBitmapSource 00434 { 00435 HRESULT GetMetadataQueryReader( 00436 [out] IWICMetadataQueryReader **ppIMetadataQueryReader); 00437 00438 HRESULT GetColorContexts( 00439 [in] UINT cCount, 00440 [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts, 00441 [out] UINT *pcActualCount); 00442 00443 HRESULT GetThumbnail( 00444 [out] IWICBitmapSource **ppIThumbnail); 00445 } 00446 00447 [ 00448 object, 00449 uuid(e87a44c4-b76e-4c47-8b09-298eb12a2714) 00450 ] 00451 interface IWICBitmapCodecInfo : IWICComponentInfo 00452 { 00453 HRESULT GetContainerFormat( 00454 [out] GUID *pguidContainerFormat); 00455 00456 HRESULT GetPixelFormats( 00457 [in] UINT cFormats, 00458 [in, out, unique, size_is(cFormats)] GUID *pguidPixelFormats, 00459 [out] UINT *pcActual); 00460 00461 HRESULT GetColorManagementVersion( 00462 [in] UINT cchColorManagementVersion, 00463 [in, out, unique, size_is(cchColorManagementVersion)] WCHAR *wzColorManagementVersion, 00464 [out] UINT *pcchActual); 00465 00466 HRESULT GetDeviceManufacturer( 00467 [in] UINT cchDeviceManufacturer, 00468 [in, out, unique, size_is(cchDeviceManufacturer)] WCHAR *wzDeviceManufacturer, 00469 [out] UINT *pcchActual); 00470 00471 HRESULT GetDeviceModels( 00472 [in] UINT cchDeviceModels, 00473 [in, out, unique, size_is(cchDeviceModels)] WCHAR *wzDeviceModels, 00474 [out] UINT *pcchActual); 00475 00476 HRESULT GetMimeTypes( 00477 [in] UINT cchMimeTypes, 00478 [in, out, unique, size_is(cchMimeTypes)] WCHAR *wzMimeTypes, 00479 [out] UINT *pcchActual); 00480 00481 HRESULT GetFileExtensions( 00482 [in] UINT cchFileExtensions, 00483 [in, out, unique, size_is(cchFileExtensions)] WCHAR *wzFileExtensions, 00484 [out] UINT *pcchActual); 00485 00486 HRESULT DoesSupportAnimation( 00487 [out] BOOL *pfSupportAnimation); 00488 00489 HRESULT DoesSupportChromaKey( 00490 [out] BOOL *pfSupportChromaKey); 00491 00492 HRESULT DoesSupportLossless( 00493 [out] BOOL *pfSupportLossless); 00494 00495 HRESULT DoesSupportMultiframe( 00496 [out] BOOL *pfSupportMultiframe); 00497 00498 HRESULT MatchesMimeType( 00499 [in] LPCWSTR wzMimeType, 00500 [out] BOOL *pfMatches); 00501 } 00502 00503 interface IWICBitmapDecoder; 00504 00505 [ 00506 object, 00507 uuid(d8cd007f-d08f-4191-9bfc-236ea7f0e4b5) 00508 ] 00509 interface IWICBitmapDecoderInfo : IWICBitmapCodecInfo 00510 { 00511 [local] 00512 HRESULT GetPatterns( 00513 [in] UINT cbSizePatterns, 00514 [in, out, unique] WICBitmapPattern *pPatterns, 00515 [in, out, unique] UINT *pcPatterns, 00516 [in, out, unique] UINT *pcbPatternsActual); 00517 00518 HRESULT MatchesPattern( 00519 [in] IStream *pIStream, 00520 [out] BOOL *pfMatches); 00521 00522 HRESULT CreateInstance( 00523 [out] IWICBitmapDecoder **ppIBitmapDecoder); 00524 } 00525 00526 [ 00527 object, 00528 uuid(9edde9e7-8dee-47ea-99df-e6faf2ed44bf) 00529 ] 00530 interface IWICBitmapDecoder : IUnknown 00531 { 00532 HRESULT QueryCapability( 00533 [in] IStream *pIStream, 00534 [out] DWORD *pdwCapability); 00535 00536 HRESULT Initialize( 00537 [in] IStream *pIStream, 00538 [in] WICDecodeOptions cacheOptions); 00539 00540 HRESULT GetContainerFormat( 00541 [out] GUID *pguidContainerFormat); 00542 00543 HRESULT GetDecoderInfo( 00544 [out] IWICBitmapDecoderInfo **ppIDecoderInfo); 00545 00546 HRESULT CopyPalette( 00547 [in] IWICPalette *pIPalette); 00548 00549 HRESULT GetMetadataQueryReader( 00550 [out] IWICMetadataQueryReader **ppIMetadataQueryReader); 00551 00552 HRESULT GetPreview( 00553 [out] IWICBitmapSource **ppIBitmapSource); 00554 00555 HRESULT GetColorContexts( 00556 [in] UINT cCount, 00557 [in, out, unique, size_is(cCount)] IWICColorContext **ppIColorContexts, 00558 [out] UINT *pcActualCount); 00559 00560 HRESULT GetThumbnail( 00561 [out] IWICBitmapSource **ppIThumbnail); 00562 00563 HRESULT GetFrameCount( 00564 [out] UINT *pCount); 00565 00566 HRESULT GetFrame( 00567 [in] UINT index, 00568 [out] IWICBitmapFrameDecode **ppIBitmapFrame); 00569 } 00570 00571 [ 00572 object, 00573 uuid(00000105-a8f2-4877-ba0a-fd2b6645fb94) 00574 ] 00575 interface IWICBitmapFrameEncode : IUnknown 00576 { 00577 HRESULT Initialize( 00578 [in, unique] IPropertyBag2 *pIEncoderOptions); 00579 00580 HRESULT SetSize( 00581 [in] UINT uiWidth, 00582 [in] UINT uiHeight); 00583 00584 HRESULT SetResolution( 00585 [in] double dpiX, 00586 [in] double dpiY); 00587 00588 HRESULT SetPixelFormat( 00589 [in, out] WICPixelFormatGUID *pPixelFormat); 00590 00591 HRESULT SetColorContexts( 00592 [in] UINT cCount, 00593 [in, size_is(cCount)] IWICColorContext **ppIColorContext); 00594 00595 HRESULT SetPalette( 00596 [in] IWICPalette *pIPalette); 00597 00598 HRESULT SetThumbnail( 00599 [in] IWICBitmapSource *pIThumbnail); 00600 00601 HRESULT WritePixels( 00602 [in] UINT lineCount, 00603 [in] UINT cbStride, 00604 [in] UINT cbBufferSize, 00605 [in, size_is(cbBufferSize)] BYTE *pbPixels); 00606 00607 HRESULT WriteSource( 00608 [in] IWICBitmapSource *pIBitmapSource, 00609 [in, unique] WICRect *prc); 00610 00611 HRESULT Commit(); 00612 00613 HRESULT GetMetadataQueryWriter( 00614 IWICMetadataQueryWriter **ppIMetadataQueryWriter); 00615 } 00616 00617 interface IWICBitmapEncoder; 00618 00619 [ 00620 object, 00621 uuid(94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb) 00622 ] 00623 interface IWICBitmapEncoderInfo : IWICBitmapCodecInfo 00624 { 00625 HRESULT CreateInstance( 00626 [out] IWICBitmapEncoder **ppIBitmapEncoder); 00627 } 00628 00629 [ 00630 object, 00631 uuid(00000103-a8f2-4877-ba0a-fd2b6645fb94) 00632 ] 00633 interface IWICBitmapEncoder : IUnknown 00634 { 00635 HRESULT Initialize( 00636 [in] IStream *pIStream, 00637 [in] WICBitmapEncoderCacheOption cacheOption); 00638 00639 HRESULT GetContainerFormat( 00640 [out] GUID *pguidContainerFormat); 00641 00642 HRESULT GetEncoderInfo( 00643 [out] IWICBitmapEncoderInfo **ppIEncoderInfo); 00644 00645 HRESULT SetColorContexts( 00646 [in] UINT cCount, 00647 [in, size_is(cCount)] IWICColorContext **ppIColorContext); 00648 00649 HRESULT SetPalette( 00650 [in] IWICPalette *pIPalette); 00651 00652 HRESULT SetThumbnail( 00653 [in] IWICBitmapSource *pIThumbnail); 00654 00655 HRESULT SetPreview( 00656 [in] IWICBitmapSource *pIPreview); 00657 00658 HRESULT CreateNewFrame( 00659 [out] IWICBitmapFrameEncode **ppIFrameEncode, 00660 [in, out, unique] IPropertyBag2 **ppIEncoderOptions); 00661 00662 HRESULT Commit(); 00663 00664 HRESULT GetMetadataQueryWriter( 00665 [out] IWICMetadataQueryWriter **ppIMetadataQueryWriter); 00666 } 00667 00668 [ 00669 object, 00670 uuid(00000301-a8f2-4877-ba0a-fd2b6645fb94) 00671 ] 00672 interface IWICFormatConverter : IWICBitmapSource 00673 { 00674 HRESULT Initialize( 00675 [in] IWICBitmapSource *pISource, 00676 [in] REFWICPixelFormatGUID dstFormat, 00677 [in] WICBitmapDitherType dither, 00678 [in] IWICPalette *pIPalette, 00679 [in] double alphaThresholdPercent, 00680 [in] WICBitmapPaletteType paletteTranslate); 00681 00682 HRESULT CanConvert( 00683 [in] REFWICPixelFormatGUID srcPixelFormat, 00684 [in] REFWICPixelFormatGUID dstPixelFormat, 00685 [out] BOOL *pfCanConvert); 00686 } 00687 00688 [ 00689 object, 00690 uuid(9f34fb65-13f4-4f15-bc57-3726b5e53d9f) 00691 ] 00692 interface IWICFormatConverterInfo : IWICComponentInfo 00693 { 00694 HRESULT GetPixelFormats( 00695 [in] UINT cFormats, 00696 [in, out, size_is(cFormats)] WICPixelFormatGUID *pPixelFormatGUIDs, 00697 [out] UINT *pcActual); 00698 00699 HRESULT CreateInstance( 00700 [out] IWICFormatConverter **ppIConverter); 00701 } 00702 00703 [ 00704 object, 00705 uuid(135ff860-22b7-4ddf-b0f6-218f4f299a43) 00706 ] 00707 interface IWICStream : IStream 00708 { 00709 HRESULT InitializeFromIStream( 00710 [in] IStream *pIStream); 00711 00712 HRESULT InitializeFromFilename( 00713 [in] LPCWSTR wzFileName, 00714 [in] DWORD dwAccessMode); 00715 00716 HRESULT InitializeFromMemory( 00717 [in, size_is(cbBufferSize)] BYTE *pbBuffer, 00718 [in] DWORD cbBufferSize); 00719 00720 HRESULT InitializeFromIStreamRegion( 00721 [in] IStream *pIStream, 00722 [in] ULARGE_INTEGER ulOffset, 00723 [in] ULARGE_INTEGER ulMaxSize); 00724 } 00725 00726 [ 00727 object, 00728 uuid(00000302-a8f2-4877-ba0a-fd2b6645fb94) 00729 ] 00730 interface IWICBitmapScaler : IWICBitmapSource 00731 { 00732 HRESULT Initialize( 00733 [in] IWICBitmapSource *pISource, 00734 [in] UINT uiWidth, 00735 [in] UINT uiHeight, 00736 [in] WICBitmapInterpolationMode mode); 00737 } 00738 00739 [ 00740 object, 00741 uuid(e4fbcf03-223d-4e81-9333-d635556dd1b5) 00742 ] 00743 interface IWICBitmapClipper : IWICBitmapSource 00744 { 00745 HRESULT Initialize( 00746 [in] IWICBitmapSource *pISource, 00747 [in] const WICRect *prc); 00748 } 00749 00750 [ 00751 object, 00752 uuid(b66f034f-d0e2-40ab-b436-6de39e321a94) 00753 ] 00754 interface IWICColorTransform : IWICBitmapSource 00755 { 00756 HRESULT Initialize( 00757 [in] IWICBitmapSource *pIBitmapSource, 00758 [in] IWICColorContext *pIContextSource, 00759 [in] IWICColorContext *pIContextDest, 00760 [in] REFWICPixelFormatGUID pixelFmtDest); 00761 } 00762 00763 [ 00764 object, 00765 uuid(b84e2c09-78c9-4ac4-8bd3-524ae1663a2f) 00766 ] 00767 interface IWICFastMetadataEncoder : IUnknown 00768 { 00769 HRESULT Commit(); 00770 00771 HRESULT GetMetadataQueryWriter( 00772 [out] IWICMetadataQueryWriter **ppIMetadataQueryWriter); 00773 } 00774 00775 cpp_quote("DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);") 00776 00777 [ 00778 object, 00779 uuid(ec5ec8a9-c395-4314-9c77-54d7a935ff70) 00780 ] 00781 interface IWICImagingFactory : IUnknown 00782 { 00783 HRESULT CreateDecoderFromFilename( 00784 [in] LPCWSTR wzFilename, 00785 [in, unique] const GUID *pguidVendor, 00786 [in] DWORD dwDesiredAccess, 00787 [in] WICDecodeOptions metadataOptions, 00788 [out, retval] IWICBitmapDecoder **ppIDecoder); 00789 00790 HRESULT CreateDecoderFromStream( 00791 [in] IStream *pIStream, 00792 [in, unique] const GUID *pguidVendor, 00793 [in] WICDecodeOptions metadataOptions, 00794 [out, retval] IWICBitmapDecoder **ppIDecoder); 00795 00796 HRESULT CreateDecoderFromFileHandle( 00797 [in] ULONG_PTR hFile, 00798 [in, unique] const GUID *pguidVendor, 00799 [in] WICDecodeOptions metadataOptions, 00800 [out, retval] IWICBitmapDecoder **ppIDecoder); 00801 00802 HRESULT CreateComponentInfo( 00803 [in] REFCLSID clsidComponent, 00804 [out] IWICComponentInfo **ppIInfo); 00805 00806 HRESULT CreateDecoder( 00807 [in] REFGUID guidContainerFormat, 00808 [in, unique] const GUID *pguidVendor, 00809 [out, retval] IWICBitmapDecoder **ppIDecoder); 00810 00811 HRESULT CreateEncoder( 00812 [in] REFGUID guidContainerFormat, 00813 [in, unique] const GUID *pguidVendor, 00814 [out, retval] IWICBitmapEncoder **ppIEncoder); 00815 00816 HRESULT CreatePalette( 00817 [out] IWICPalette **ppIPalette); 00818 00819 HRESULT CreateFormatConverter( 00820 [out] IWICFormatConverter **ppIFormatConverter); 00821 00822 HRESULT CreateBitmapScaler( 00823 [out] IWICBitmapScaler **ppIBitmapScaler); 00824 00825 HRESULT CreateBitmapClipper( 00826 [out] IWICBitmapClipper **ppIBitmapClipper); 00827 00828 HRESULT CreateBitmapFlipRotator( 00829 [out] IWICBitmapFlipRotator **ppIBitmapFlipRotator); 00830 00831 HRESULT CreateStream( 00832 [out] IWICStream **ppIWICStream); 00833 00834 HRESULT CreateColorContext( 00835 [out] IWICColorContext **ppIWICColorContext); 00836 00837 HRESULT CreateColorTransformer( 00838 [out] IWICColorTransform **ppIWICColorTransform); 00839 00840 HRESULT CreateBitmap( 00841 [in] UINT uiWidth, 00842 [in] UINT uiHeight, 00843 [in] REFWICPixelFormatGUID pixelFormat, 00844 [in] WICBitmapCreateCacheOption option, 00845 [out] IWICBitmap **ppIBitmap); 00846 00847 HRESULT CreateBitmapFromSource( 00848 [in] IWICBitmapSource *piBitmapSource, 00849 [in] WICBitmapCreateCacheOption option, 00850 [out] IWICBitmap **ppIBitmap); 00851 00852 HRESULT CreateBitmapFromSourceRect( 00853 [in] IWICBitmapSource *piBitmapSource, 00854 [in] UINT x, 00855 [in] UINT y, 00856 [in] UINT width, 00857 [in] UINT height, 00858 [out] IWICBitmap **ppIBitmap); 00859 00860 HRESULT CreateBitmapFromMemory( 00861 [in] UINT uiWidth, 00862 [in] UINT uiHeight, 00863 [in] REFWICPixelFormatGUID pixelFormat, 00864 [in] UINT cbStride, 00865 [in] UINT cbBufferSize, 00866 [in, size_is(cbBufferSize)] BYTE *pbBuffer, 00867 [out] IWICBitmap **ppIBitmap); 00868 00869 HRESULT CreateBitmapFromHBITMAP( 00870 [in] HBITMAP hBitmap, 00871 [in, unique] HPALETTE hPalette, 00872 [in] WICBitmapAlphaChannelOption options, 00873 [out] IWICBitmap **ppIBitmap); 00874 00875 HRESULT CreateBitmapFromHICON( 00876 [in] HICON hIcon, 00877 [out] IWICBitmap **ppIBitmap); 00878 00879 HRESULT CreateComponentEnumerator( 00880 [in] DWORD componentTypes, 00881 [in] DWORD options, 00882 [out] IEnumUnknown **ppIEnumUnknown); 00883 00884 HRESULT CreateFastMetadataEncoderFromDecoder( 00885 [in] IWICBitmapDecoder *pIDecoder, 00886 [out] IWICFastMetadataEncoder **ppIFastEncoder); 00887 00888 HRESULT CreateFastMetadataEncoderFromFrameDecode( 00889 [in] IWICBitmapFrameDecode *pIFrameDecoder, 00890 [out] IWICFastMetadataEncoder **ppIFastEncoder); 00891 00892 HRESULT CreateQueryWriter( 00893 [in] REFGUID guidMetadataFormat, 00894 [in, unique] const GUID *pguidVendor, 00895 [out] IWICMetadataQueryWriter **ppIQueryWriter); 00896 00897 HRESULT CreateQueryWriterFromReader( 00898 [in] IWICMetadataQueryReader *pIQueryReader, 00899 [in, unique] const GUID *pguidVendor, 00900 [out] IWICMetadataQueryWriter **ppIQueryWriter); 00901 } 00902 00903 cpp_quote("HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);") 00904 00905 cpp_quote("DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);") 00906 cpp_quote("DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);") 00907 cpp_quote("DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);") 00908 cpp_quote("DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);") 00909 cpp_quote("DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);") 00910 cpp_quote("DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);") 00911 cpp_quote("DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);") 00912 00913 cpp_quote("DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82);") 00914 cpp_quote("DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);") 00915 cpp_quote("DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76);") 00916 cpp_quote("DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd);") 00917 cpp_quote("DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8);") 00918 cpp_quote("DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2);") 00919 00920 cpp_quote("DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1);") 00921 00922 cpp_quote("DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);") 00923 cpp_quote("DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);") 00924 cpp_quote("DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);") 00925 cpp_quote("DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);") 00926 cpp_quote("DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);") 00927 cpp_quote("DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);") 00928 cpp_quote("DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);") 00929 00930 cpp_quote("DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);") 00931 00932 cpp_quote("DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);") 00933 cpp_quote("DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e);") 00934 cpp_quote("DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48);") Generated on Sun May 27 2012 04:32:36 for ReactOS by
1.7.6.1
|