ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

wincodec.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.