2 * Misleadingly named convenience functions for accessing WIC.
4 * Copyright 2012 Vincent Povirk for CodeWeavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
29 #include "wincodecs_private.h"
31 #include "wine/debug.h"
33 WINE_DEFAULT_DEBUG_CHANNEL(wincodecs
);
35 HRESULT WINAPI
IPropertyBag2_Write_Proxy(IPropertyBag2
*iface
,
36 ULONG cProperties
, PROPBAG2
*ppropbag
, VARIANT
*pvarValue
)
38 return IPropertyBag2_Write(iface
, cProperties
, ppropbag
, pvarValue
);
41 HRESULT WINAPI
IWICBitmapClipper_Initialize_Proxy_W(IWICBitmapClipper
*iface
,
42 IWICBitmapSource
*pISource
, const WICRect
*prc
)
44 return IWICBitmapClipper_Initialize(iface
, pISource
, prc
);
47 HRESULT WINAPI
IWICBitmapCodecInfo_GetContainerFormat_Proxy_W(IWICBitmapCodecInfo
*iface
,
48 GUID
*pguidContainerFormat
)
50 return IWICBitmapCodecInfo_GetContainerFormat(iface
, pguidContainerFormat
);
53 HRESULT WINAPI
IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy_W(IWICBitmapCodecInfo
*iface
,
54 UINT cchDeviceManufacturer
, WCHAR
*wzDeviceManufacturer
, UINT
*pcchActual
)
56 return IWICBitmapCodecInfo_GetDeviceManufacturer(iface
, cchDeviceManufacturer
, wzDeviceManufacturer
, pcchActual
);
59 HRESULT WINAPI
IWICBitmapCodecInfo_GetDeviceModels_Proxy_W(IWICBitmapCodecInfo
*iface
,
60 UINT cchDeviceModels
, WCHAR
*wzDeviceModels
, UINT
*pcchActual
)
62 return IWICBitmapCodecInfo_GetDeviceModels(iface
, cchDeviceModels
, wzDeviceModels
, pcchActual
);
65 HRESULT WINAPI
IWICBitmapCodecInfo_GetMimeTypes_Proxy_W(IWICBitmapCodecInfo
*iface
,
66 UINT cchMimeTypes
, WCHAR
*wzMimeTypes
, UINT
*pcchActual
)
68 return IWICBitmapCodecInfo_GetMimeTypes(iface
, cchMimeTypes
, wzMimeTypes
, pcchActual
);
71 HRESULT WINAPI
IWICBitmapCodecInfo_GetFileExtensions_Proxy_W(IWICBitmapCodecInfo
*iface
,
72 UINT cchFileExtensions
, WCHAR
*wzFileExtensions
, UINT
*pcchActual
)
74 return IWICBitmapCodecInfo_GetFileExtensions(iface
, cchFileExtensions
, wzFileExtensions
, pcchActual
);
77 HRESULT WINAPI
IWICBitmapCodecInfo_DoesSupportAnimation_Proxy_W(IWICBitmapCodecInfo
*iface
,
78 BOOL
*pfSupportAnimation
)
80 return IWICBitmapCodecInfo_DoesSupportAnimation(iface
, pfSupportAnimation
);
83 HRESULT WINAPI
IWICBitmapCodecInfo_DoesSupportLossless_Proxy_W(IWICBitmapCodecInfo
*iface
,
84 BOOL
*pfSupportLossless
)
86 return IWICBitmapCodecInfo_DoesSupportLossless(iface
, pfSupportLossless
);
89 HRESULT WINAPI
IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy_W(IWICBitmapCodecInfo
*iface
,
90 BOOL
*pfSupportMultiframe
)
92 return IWICBitmapCodecInfo_DoesSupportMultiframe(iface
, pfSupportMultiframe
);
95 HRESULT WINAPI
IWICBitmapDecoder_GetDecoderInfo_Proxy_W(IWICBitmapDecoder
*iface
,
96 IWICBitmapDecoderInfo
**ppIDecoderInfo
)
98 return IWICBitmapDecoder_GetDecoderInfo(iface
, ppIDecoderInfo
);
101 HRESULT WINAPI
IWICBitmapDecoder_CopyPalette_Proxy_W(IWICBitmapDecoder
*iface
,
102 IWICPalette
*pIPalette
)
104 return IWICBitmapDecoder_CopyPalette(iface
, pIPalette
);
107 HRESULT WINAPI
IWICBitmapDecoder_GetMetadataQueryReader_Proxy_W(IWICBitmapDecoder
*iface
,
108 IWICMetadataQueryReader
**ppIMetadataQueryReader
)
110 return IWICBitmapDecoder_GetMetadataQueryReader(iface
, ppIMetadataQueryReader
);
113 HRESULT WINAPI
IWICBitmapDecoder_GetPreview_Proxy_W(IWICBitmapDecoder
*iface
,
114 IWICBitmapSource
**ppIBitmapSource
)
116 return IWICBitmapDecoder_GetPreview(iface
, ppIBitmapSource
);
119 HRESULT WINAPI
IWICBitmapDecoder_GetColorContexts_Proxy_W(IWICBitmapDecoder
*iface
,
120 UINT cCount
, IWICColorContext
**ppIColorContexts
, UINT
*pcActualCount
)
122 return IWICBitmapDecoder_GetColorContexts(iface
, cCount
, ppIColorContexts
, pcActualCount
);
125 HRESULT WINAPI
IWICBitmapDecoder_GetThumbnail_Proxy_W(IWICBitmapDecoder
*iface
,
126 IWICBitmapSource
**ppIThumbnail
)
128 return IWICBitmapDecoder_GetThumbnail(iface
, ppIThumbnail
);
131 HRESULT WINAPI
IWICBitmapDecoder_GetFrameCount_Proxy_W(IWICBitmapDecoder
*iface
,
134 return IWICBitmapDecoder_GetFrameCount(iface
, pCount
);
137 HRESULT WINAPI
IWICBitmapDecoder_GetFrame_Proxy_W(IWICBitmapDecoder
*iface
,
138 UINT index
, IWICBitmapFrameDecode
**ppIBitmapFrame
)
140 return IWICBitmapDecoder_GetFrame(iface
, index
, ppIBitmapFrame
);
143 HRESULT WINAPI
IWICBitmapEncoder_Initialize_Proxy_W(IWICBitmapEncoder
*iface
,
144 IStream
*pIStream
, WICBitmapEncoderCacheOption cacheOption
)
146 return IWICBitmapEncoder_Initialize(iface
, pIStream
, cacheOption
);
149 HRESULT WINAPI
IWICBitmapEncoder_GetEncoderInfo_Proxy_W(IWICBitmapEncoder
*iface
,
150 IWICBitmapEncoderInfo
**ppIEncoderInfo
)
152 return IWICBitmapEncoder_GetEncoderInfo(iface
, ppIEncoderInfo
);
155 HRESULT WINAPI
IWICBitmapEncoder_SetPalette_Proxy_W(IWICBitmapEncoder
*iface
,
156 IWICPalette
*pIPalette
)
158 return IWICBitmapEncoder_SetPalette(iface
, pIPalette
);
161 HRESULT WINAPI
IWICBitmapEncoder_SetThumbnail_Proxy_W(IWICBitmapEncoder
*iface
,
162 IWICBitmapSource
*pIThumbnail
)
164 return IWICBitmapEncoder_SetThumbnail(iface
, pIThumbnail
);
167 HRESULT WINAPI
IWICBitmapEncoder_CreateNewFrame_Proxy_W(IWICBitmapEncoder
*iface
,
168 IWICBitmapFrameEncode
**ppIFrameEncode
, IPropertyBag2
**ppIEncoderOptions
)
170 return IWICBitmapEncoder_CreateNewFrame(iface
, ppIFrameEncode
, ppIEncoderOptions
);
173 HRESULT WINAPI
IWICBitmapEncoder_Commit_Proxy_W(IWICBitmapEncoder
*iface
)
175 return IWICBitmapEncoder_Commit(iface
);
178 HRESULT WINAPI
IWICBitmapEncoder_GetMetadataQueryWriter_Proxy_W(IWICBitmapEncoder
*iface
,
179 IWICMetadataQueryWriter
**ppIMetadataQueryWriter
)
181 return IWICBitmapEncoder_GetMetadataQueryWriter(iface
, ppIMetadataQueryWriter
);
184 HRESULT WINAPI
IWICBitmapFlipRotator_Initialize_Proxy_W(IWICBitmapFlipRotator
*iface
,
185 IWICBitmapSource
*pISource
, WICBitmapTransformOptions options
)
187 return IWICBitmapFlipRotator_Initialize(iface
, pISource
, options
);
190 HRESULT WINAPI
IWICBitmapFrameEncode_Initialize_Proxy_W(IWICBitmapFrameEncode
*iface
,
191 IPropertyBag2
*pIEncoderOptions
)
193 return IWICBitmapFrameEncode_Initialize(iface
, pIEncoderOptions
);
196 HRESULT WINAPI
IWICBitmapFrameEncode_SetSize_Proxy_W(IWICBitmapFrameEncode
*iface
,
197 UINT uiWidth
, UINT uiHeight
)
199 return IWICBitmapFrameEncode_SetSize(iface
, uiWidth
, uiHeight
);
202 HRESULT WINAPI
IWICBitmapFrameEncode_SetResolution_Proxy_W(IWICBitmapFrameEncode
*iface
,
203 double dpiX
, double dpiY
)
205 return IWICBitmapFrameEncode_SetResolution(iface
, dpiX
, dpiY
);
208 HRESULT WINAPI
IWICBitmapFrameEncode_SetColorContexts_Proxy_W(IWICBitmapFrameEncode
*iface
,
209 UINT cCount
, IWICColorContext
**ppIColorContext
)
211 return IWICBitmapFrameEncode_SetColorContexts(iface
, cCount
, ppIColorContext
);
214 HRESULT WINAPI
IWICBitmapFrameEncode_SetThumbnail_Proxy_W(IWICBitmapFrameEncode
*iface
,
215 IWICBitmapSource
*pIThumbnail
)
217 return IWICBitmapFrameEncode_SetThumbnail(iface
, pIThumbnail
);
220 HRESULT WINAPI
IWICBitmapFrameEncode_WriteSource_Proxy_W(IWICBitmapFrameEncode
*iface
,
221 IWICBitmapSource
*pIBitmapSource
, WICRect
*prc
)
223 if (prc
&& (prc
->Width
<= 0 || prc
->Height
<= 0))
226 return IWICBitmapFrameEncode_WriteSource(iface
, pIBitmapSource
, prc
);
229 HRESULT WINAPI
IWICBitmapFrameEncode_Commit_Proxy_W(IWICBitmapFrameEncode
*iface
)
231 return IWICBitmapFrameEncode_Commit(iface
);
234 HRESULT WINAPI
IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy_W(IWICBitmapFrameEncode
*iface
,
235 IWICMetadataQueryWriter
**ppIMetadataQueryWriter
)
237 return IWICBitmapFrameEncode_GetMetadataQueryWriter(iface
, ppIMetadataQueryWriter
);
240 HRESULT WINAPI
IWICBitmapLock_GetDataPointer_Proxy_W(IWICBitmapLock
*iface
,
241 UINT
*pcbBufferSize
, BYTE
**ppbData
)
243 return IWICBitmapLock_GetDataPointer(iface
, pcbBufferSize
, ppbData
);
246 HRESULT WINAPI
IWICBitmapLock_GetStride_Proxy_W(IWICBitmapLock
*iface
,
249 return IWICBitmapLock_GetStride(iface
, pcbStride
);
252 HRESULT WINAPI
IWICBitmapScaler_Initialize_Proxy_W(IWICBitmapScaler
*iface
,
253 IWICBitmapSource
*pISource
, UINT uiWidth
, UINT uiHeight
, WICBitmapInterpolationMode mode
)
255 return IWICBitmapScaler_Initialize(iface
, pISource
, uiWidth
, uiHeight
, mode
);
258 HRESULT WINAPI
IWICBitmapSource_GetSize_Proxy_W(IWICBitmapSource
*iface
,
259 UINT
*puiWidth
, UINT
*puiHeight
)
261 return IWICBitmapSource_GetSize(iface
, puiWidth
, puiHeight
);
264 HRESULT WINAPI
IWICBitmapSource_GetPixelFormat_Proxy_W(IWICBitmapSource
*iface
,
265 WICPixelFormatGUID
*pPixelFormat
)
267 return IWICBitmapSource_GetPixelFormat(iface
, pPixelFormat
);
270 HRESULT WINAPI
IWICBitmapSource_GetResolution_Proxy_W(IWICBitmapSource
*iface
,
271 double *pDpiX
, double *pDpiY
)
273 return IWICBitmapSource_GetResolution(iface
, pDpiX
, pDpiY
);
276 HRESULT WINAPI
IWICBitmapSource_CopyPalette_Proxy_W(IWICBitmapSource
*iface
,
277 IWICPalette
*pIPalette
)
279 return IWICBitmapSource_CopyPalette(iface
, pIPalette
);
282 HRESULT WINAPI
IWICBitmapSource_CopyPixels_Proxy_W(IWICBitmapSource
*iface
,
283 const WICRect
*prc
, UINT cbStride
, UINT cbBufferSize
, BYTE
*pbBuffer
)
285 return IWICBitmapSource_CopyPixels(iface
, prc
, cbStride
, cbBufferSize
, pbBuffer
);
288 HRESULT WINAPI
IWICBitmap_Lock_Proxy_W(IWICBitmap
*iface
,
289 const WICRect
*prcLock
, DWORD flags
, IWICBitmapLock
**ppILock
)
291 return IWICBitmap_Lock(iface
, prcLock
, flags
, ppILock
);
294 HRESULT WINAPI
IWICBitmap_SetPalette_Proxy_W(IWICBitmap
*iface
,
295 IWICPalette
*pIPalette
)
297 return IWICBitmap_SetPalette(iface
, pIPalette
);
300 HRESULT WINAPI
IWICBitmap_SetResolution_Proxy_W(IWICBitmap
*iface
,
301 double dpiX
, double dpiY
)
303 return IWICBitmap_SetResolution(iface
, dpiX
, dpiY
);
306 HRESULT WINAPI
IWICColorContext_InitializeFromMemory_Proxy_W(IWICColorContext
*iface
,
307 const BYTE
*pbBuffer
, UINT cbBufferSize
)
309 return IWICColorContext_InitializeFromMemory(iface
, pbBuffer
, cbBufferSize
);
312 HRESULT WINAPI
IWICComponentFactory_CreateMetadataWriterFromReader_Proxy_W(IWICComponentFactory
*iface
,
313 IWICMetadataReader
*pIReader
, const GUID
*pguidVendor
, IWICMetadataWriter
**ppIWriter
)
315 return IWICComponentFactory_CreateMetadataWriterFromReader(iface
, pIReader
, pguidVendor
, ppIWriter
);
318 HRESULT WINAPI
IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy_W(IWICComponentFactory
*iface
,
319 IWICMetadataBlockWriter
*pIBlockWriter
, IWICMetadataQueryWriter
**ppIQueryWriter
)
321 return IWICComponentFactory_CreateQueryWriterFromBlockWriter(iface
, pIBlockWriter
, ppIQueryWriter
);
324 HRESULT WINAPI
IWICComponentInfo_GetCLSID_Proxy_W(IWICComponentInfo
*iface
,
327 return IWICComponentInfo_GetCLSID(iface
, pclsid
);
330 HRESULT WINAPI
IWICComponentInfo_GetAuthor_Proxy_W(IWICComponentInfo
*iface
,
331 UINT cchAuthor
, WCHAR
*wzAuthor
, UINT
*pcchActual
)
333 return IWICComponentInfo_GetAuthor(iface
, cchAuthor
, wzAuthor
, pcchActual
);
336 HRESULT WINAPI
IWICComponentInfo_GetVersion_Proxy_W(IWICComponentInfo
*iface
,
337 UINT cchVersion
, WCHAR
*wzVersion
, UINT
*pcchActual
)
339 return IWICComponentInfo_GetVersion(iface
, cchVersion
, wzVersion
, pcchActual
);
342 HRESULT WINAPI
IWICComponentInfo_GetSpecVersion_Proxy_W(IWICComponentInfo
*iface
,
343 UINT cchSpecVersion
, WCHAR
*wzSpecVersion
, UINT
*pcchActual
)
345 return IWICComponentInfo_GetSpecVersion(iface
, cchSpecVersion
, wzSpecVersion
, pcchActual
);
348 HRESULT WINAPI
IWICComponentInfo_GetFriendlyName_Proxy_W(IWICComponentInfo
*iface
,
349 UINT cchFriendlyName
, WCHAR
*wzFriendlyName
, UINT
*pcchActual
)
351 return IWICComponentInfo_GetFriendlyName(iface
, cchFriendlyName
, wzFriendlyName
, pcchActual
);
354 HRESULT WINAPI
IWICFastMetadataEncoder_Commit_Proxy_W(IWICFastMetadataEncoder
*iface
)
356 return IWICFastMetadataEncoder_Commit(iface
);
359 HRESULT WINAPI
IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy_W(IWICFastMetadataEncoder
*iface
,
360 IWICMetadataQueryWriter
**ppIMetadataQueryWriter
)
362 return IWICFastMetadataEncoder_GetMetadataQueryWriter(iface
, ppIMetadataQueryWriter
);
365 HRESULT WINAPI
IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy_W(IWICBitmapFrameDecode
*iface
,
366 IWICMetadataQueryReader
**ppIMetadataQueryReader
)
368 return IWICBitmapFrameDecode_GetMetadataQueryReader(iface
, ppIMetadataQueryReader
);
371 HRESULT WINAPI
IWICBitmapFrameDecode_GetColorContexts_Proxy_W(IWICBitmapFrameDecode
*iface
,
372 UINT cCount
, IWICColorContext
**ppIColorContexts
, UINT
*pcActualCount
)
374 return IWICBitmapFrameDecode_GetColorContexts(iface
, cCount
, ppIColorContexts
, pcActualCount
);
377 HRESULT WINAPI
IWICBitmapFrameDecode_GetThumbnail_Proxy_W(IWICBitmapFrameDecode
*iface
,
378 IWICBitmapSource
**ppIThumbnail
)
380 return IWICBitmapFrameDecode_GetThumbnail(iface
, ppIThumbnail
);
383 HRESULT WINAPI
IWICFormatConverter_Initialize_Proxy_W(IWICFormatConverter
*iface
,
384 IWICBitmapSource
*pISource
, REFWICPixelFormatGUID dstFormat
, WICBitmapDitherType dither
,
385 IWICPalette
*pIPalette
, double alphaThresholdPercent
, WICBitmapPaletteType paletteTranslate
)
387 return IWICFormatConverter_Initialize(iface
, pISource
, dstFormat
, dither
,
388 pIPalette
, alphaThresholdPercent
, paletteTranslate
);
391 HRESULT WINAPI
IWICImagingFactory_CreateBitmapClipper_Proxy_W(IWICImagingFactory
*pFactory
,
392 IWICBitmapClipper
**ppIBitmapClipper
)
394 return IWICImagingFactory_CreateBitmapClipper(pFactory
, ppIBitmapClipper
);
397 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFlipRotator_Proxy_W(IWICImagingFactory
*pFactory
,
398 IWICBitmapFlipRotator
**ppIBitmapFlipRotator
)
400 return IWICImagingFactory_CreateBitmapFlipRotator(pFactory
, ppIBitmapFlipRotator
);
403 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy_W(IWICImagingFactory
*pFactory
,
404 HBITMAP hBitmap
, HPALETTE hPalette
, WICBitmapAlphaChannelOption options
, IWICBitmap
**ppIBitmap
)
406 return IWICImagingFactory_CreateBitmapFromHBITMAP(pFactory
, hBitmap
, hPalette
, options
, ppIBitmap
);
409 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromHICON_Proxy_W(IWICImagingFactory
*pFactory
,
410 HICON hIcon
, IWICBitmap
**ppIBitmap
)
412 return IWICImagingFactory_CreateBitmapFromHICON(pFactory
, hIcon
, ppIBitmap
);
415 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromMemory_Proxy_W(IWICImagingFactory
*pFactory
,
416 UINT uiWidth
, UINT uiHeight
, REFWICPixelFormatGUID pixelFormat
, UINT cbStride
,
417 UINT cbBufferSize
, BYTE
*pbBuffer
, IWICBitmap
**ppIBitmap
)
419 return IWICImagingFactory_CreateBitmapFromMemory(pFactory
, uiWidth
, uiHeight
,
420 pixelFormat
, cbStride
, cbBufferSize
, pbBuffer
, ppIBitmap
);
423 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromSource_Proxy_W(IWICImagingFactory
*pFactory
,
424 IWICBitmapSource
*piBitmapSource
, WICBitmapCreateCacheOption option
, IWICBitmap
**ppIBitmap
)
426 return IWICImagingFactory_CreateBitmapFromSource(pFactory
, piBitmapSource
, option
, ppIBitmap
);
429 HRESULT WINAPI
IWICImagingFactory_CreateBitmapScaler_Proxy_W(IWICImagingFactory
*pFactory
,
430 IWICBitmapScaler
**ppIBitmapScaler
)
432 return IWICImagingFactory_CreateBitmapScaler(pFactory
, ppIBitmapScaler
);
435 HRESULT WINAPI
IWICImagingFactory_CreateBitmap_Proxy_W(IWICImagingFactory
*pFactory
,
436 UINT uiWidth
, UINT uiHeight
, REFWICPixelFormatGUID pixelFormat
,
437 WICBitmapCreateCacheOption option
, IWICBitmap
**ppIBitmap
)
439 return IWICImagingFactory_CreateBitmap(pFactory
, uiWidth
, uiHeight
,
440 pixelFormat
, option
, ppIBitmap
);
443 HRESULT WINAPI
IWICImagingFactory_CreateComponentInfo_Proxy_W(IWICImagingFactory
*pFactory
,
444 REFCLSID clsidComponent
, IWICComponentInfo
**ppIInfo
)
446 return IWICImagingFactory_CreateComponentInfo(pFactory
, clsidComponent
, ppIInfo
);
449 HRESULT WINAPI
IWICImagingFactory_CreateDecoderFromFileHandle_Proxy_W(IWICImagingFactory
*pFactory
,
450 ULONG_PTR hFile
, const GUID
*pguidVendor
, WICDecodeOptions metadataOptions
, IWICBitmapDecoder
**ppIDecoder
)
452 return IWICImagingFactory_CreateDecoderFromFileHandle(pFactory
, hFile
, pguidVendor
, metadataOptions
, ppIDecoder
);
455 HRESULT WINAPI
IWICImagingFactory_CreateDecoderFromFilename_Proxy_W(IWICImagingFactory
*pFactory
,
456 LPCWSTR wzFilename
, const GUID
*pguidVendor
, DWORD dwDesiredAccess
,
457 WICDecodeOptions metadataOptions
, IWICBitmapDecoder
**ppIDecoder
)
459 return IWICImagingFactory_CreateDecoderFromFilename(pFactory
, wzFilename
,
460 pguidVendor
, dwDesiredAccess
, metadataOptions
, ppIDecoder
);
463 HRESULT WINAPI
IWICImagingFactory_CreateDecoderFromStream_Proxy_W(IWICImagingFactory
*pFactory
,
464 IStream
*pIStream
, const GUID
*pguidVendor
,
465 WICDecodeOptions metadataOptions
, IWICBitmapDecoder
**ppIDecoder
)
467 return IWICImagingFactory_CreateDecoderFromStream(pFactory
, pIStream
, pguidVendor
, metadataOptions
, ppIDecoder
);
470 HRESULT WINAPI
IWICImagingFactory_CreateEncoder_Proxy_W(IWICImagingFactory
*pFactory
,
471 REFGUID guidContainerFormat
, const GUID
*pguidVendor
, IWICBitmapEncoder
**ppIEncoder
)
473 return IWICImagingFactory_CreateEncoder(pFactory
, guidContainerFormat
, pguidVendor
, ppIEncoder
);
476 HRESULT WINAPI
IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy_W(IWICImagingFactory
*pFactory
,
477 IWICBitmapDecoder
*pIDecoder
, IWICFastMetadataEncoder
**ppIFastEncoder
)
479 return IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(pFactory
, pIDecoder
, ppIFastEncoder
);
482 HRESULT WINAPI
IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy_W(IWICImagingFactory
*pFactory
,
483 IWICBitmapFrameDecode
*pIFrameDecoder
, IWICFastMetadataEncoder
**ppIFastEncoder
)
485 return IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(pFactory
, pIFrameDecoder
, ppIFastEncoder
);
488 HRESULT WINAPI
IWICImagingFactory_CreateFormatConverter_Proxy_W(IWICImagingFactory
*pFactory
,
489 IWICFormatConverter
**ppIFormatConverter
)
491 return IWICImagingFactory_CreateFormatConverter(pFactory
, ppIFormatConverter
);
494 HRESULT WINAPI
IWICImagingFactory_CreatePalette_Proxy_W(IWICImagingFactory
*pFactory
,
495 IWICPalette
**ppIPalette
)
497 return IWICImagingFactory_CreatePalette(pFactory
, ppIPalette
);
500 HRESULT WINAPI
IWICImagingFactory_CreateQueryWriterFromReader_Proxy_W(IWICImagingFactory
*pFactory
,
501 IWICMetadataQueryReader
*pIQueryReader
, const GUID
*pguidVendor
,
502 IWICMetadataQueryWriter
**ppIQueryWriter
)
504 return IWICImagingFactory_CreateQueryWriterFromReader(pFactory
, pIQueryReader
, pguidVendor
, ppIQueryWriter
);
507 HRESULT WINAPI
IWICImagingFactory_CreateQueryWriter_Proxy_W(IWICImagingFactory
*pFactory
,
508 REFGUID guidMetadataFormat
, const GUID
*pguidVendor
, IWICMetadataQueryWriter
**ppIQueryWriter
)
510 return IWICImagingFactory_CreateQueryWriter(pFactory
, guidMetadataFormat
, pguidVendor
, ppIQueryWriter
);
513 HRESULT WINAPI
IWICImagingFactory_CreateStream_Proxy_W(IWICImagingFactory
*pFactory
,
514 IWICStream
**ppIWICStream
)
516 return IWICImagingFactory_CreateStream(pFactory
, ppIWICStream
);
519 HRESULT WINAPI
IWICMetadataBlockReader_GetCount_Proxy_W(IWICMetadataBlockReader
*iface
,
522 return IWICMetadataBlockReader_GetCount(iface
, pcCount
);
525 HRESULT WINAPI
IWICMetadataBlockReader_GetReaderByIndex_Proxy_W(IWICMetadataBlockReader
*iface
,
526 UINT nIndex
, IWICMetadataReader
**ppIMetadataReader
)
528 return IWICMetadataBlockReader_GetReaderByIndex(iface
, nIndex
, ppIMetadataReader
);
531 HRESULT WINAPI
IWICMetadataQueryReader_GetContainerFormat_Proxy_W(IWICMetadataQueryReader
*iface
,
532 GUID
*pguidContainerFormat
)
534 return IWICMetadataQueryReader_GetContainerFormat(iface
, pguidContainerFormat
);
537 HRESULT WINAPI
IWICMetadataQueryReader_GetLocation_Proxy_W(IWICMetadataQueryReader
*iface
,
538 UINT cchMaxLength
, WCHAR
*wzNamespace
, UINT
*pcchActualLength
)
540 return IWICMetadataQueryReader_GetLocation(iface
, cchMaxLength
, wzNamespace
, pcchActualLength
);
543 HRESULT WINAPI
IWICMetadataQueryReader_GetMetadataByName_Proxy_W(IWICMetadataQueryReader
*iface
,
544 LPCWSTR wzName
, PROPVARIANT
*pvarValue
)
546 return IWICMetadataQueryReader_GetMetadataByName(iface
, wzName
, pvarValue
);
549 HRESULT WINAPI
IWICMetadataQueryReader_GetEnumerator_Proxy_W(IWICMetadataQueryReader
*iface
,
550 IEnumString
**ppIEnumString
)
552 return IWICMetadataQueryReader_GetEnumerator(iface
, ppIEnumString
);
555 HRESULT WINAPI
IWICMetadataQueryWriter_SetMetadataByName_Proxy_W(IWICMetadataQueryWriter
*iface
,
556 LPCWSTR wzName
, const PROPVARIANT
*pvarValue
)
558 return IWICMetadataQueryWriter_SetMetadataByName(iface
, wzName
, pvarValue
);
561 HRESULT WINAPI
IWICMetadataQueryWriter_RemoveMetadataByName_Proxy_W(IWICMetadataQueryWriter
*iface
,
564 return IWICMetadataQueryWriter_RemoveMetadataByName(iface
, wzName
);
567 HRESULT WINAPI
IWICPalette_InitializePredefined_Proxy_W(IWICPalette
*iface
,
568 WICBitmapPaletteType ePaletteType
, BOOL fAddTransparentColor
)
570 return IWICPalette_InitializePredefined(iface
, ePaletteType
, fAddTransparentColor
);
573 HRESULT WINAPI
IWICPalette_InitializeCustom_Proxy_W(IWICPalette
*iface
,
574 WICColor
*pColors
, UINT colorCount
)
576 return IWICPalette_InitializeCustom(iface
, pColors
, colorCount
);
579 HRESULT WINAPI
IWICPalette_InitializeFromBitmap_Proxy_W(IWICPalette
*iface
,
580 IWICBitmapSource
*pISurface
, UINT colorCount
, BOOL fAddTransparentColor
)
582 return IWICPalette_InitializeFromBitmap(iface
, pISurface
, colorCount
, fAddTransparentColor
);
585 HRESULT WINAPI
IWICPalette_InitializeFromPalette_Proxy_W(IWICPalette
*iface
,
586 IWICPalette
*pIPalette
)
588 return IWICPalette_InitializeFromPalette(iface
, pIPalette
);
591 HRESULT WINAPI
IWICPalette_GetType_Proxy_W(IWICPalette
*iface
,
592 WICBitmapPaletteType
*pePaletteType
)
594 return IWICPalette_GetType(iface
, pePaletteType
);
597 HRESULT WINAPI
IWICPalette_GetColorCount_Proxy_W(IWICPalette
*iface
,
600 return IWICPalette_GetColorCount(iface
, pcCount
);
603 HRESULT WINAPI
IWICPalette_GetColors_Proxy_W(IWICPalette
*iface
,
604 UINT colorCount
, WICColor
*pColors
, UINT
*pcActualColors
)
606 return IWICPalette_GetColors(iface
, colorCount
, pColors
, pcActualColors
);
609 HRESULT WINAPI
IWICPalette_HasAlpha_Proxy_W(IWICPalette
*iface
,
612 return IWICPalette_HasAlpha(iface
, pfHasAlpha
);
615 HRESULT WINAPI
IWICStream_InitializeFromIStream_Proxy_W(IWICStream
*iface
,
618 return IWICStream_InitializeFromIStream(iface
, pIStream
);
621 HRESULT WINAPI
IWICStream_InitializeFromMemory_Proxy_W(IWICStream
*iface
,
622 BYTE
*pbBuffer
, DWORD cbBufferSize
)
624 return IWICStream_InitializeFromMemory(iface
, pbBuffer
, cbBufferSize
);
627 HRESULT WINAPI
IWICPixelFormatInfo_GetBitsPerPixel_Proxy_W(IWICPixelFormatInfo
*iface
, UINT
*bpp
)
629 return IWICPixelFormatInfo_GetBitsPerPixel(iface
, bpp
);
632 HRESULT WINAPI
IWICPixelFormatInfo_GetChannelCount_Proxy_W(IWICPixelFormatInfo
*iface
, UINT
*count
)
634 return IWICPixelFormatInfo_GetChannelCount(iface
, count
);
637 HRESULT WINAPI
IWICPixelFormatInfo_GetChannelMask_Proxy_W(IWICPixelFormatInfo
*iface
, UINT channel
, UINT buffer_size
, BYTE
*buffer
, UINT
*actual
)
639 return IWICPixelFormatInfo_GetChannelMask(iface
, channel
, buffer_size
, buffer
, actual
);
642 HRESULT WINAPI
WICCreateColorContext_Proxy(IWICImagingFactory
*iface
, IWICColorContext
**ppIWICColorContext
)
644 TRACE("%p, %p\n", iface
, ppIWICColorContext
);
646 return IWICImagingFactory_CreateColorContext(iface
, ppIWICColorContext
);
649 HRESULT WINAPI
WICCreateImagingFactory_Proxy(UINT SDKVersion
, IWICImagingFactory
**ppIImagingFactory
)
651 TRACE("%x, %p\n", SDKVersion
, ppIImagingFactory
);
653 return ImagingFactory_CreateInstance(&IID_IWICImagingFactory
, (void**)ppIImagingFactory
);
656 HRESULT WINAPI
WICSetEncoderFormat_Proxy(IWICBitmapSource
*pSourceIn
,
657 IWICPalette
*pIPalette
, IWICBitmapFrameEncode
*pIFrameEncode
,
658 IWICBitmapSource
**ppSourceOut
)
661 WICPixelFormatGUID pixelformat
, framepixelformat
;
663 TRACE("%p,%p,%p,%p\n", pSourceIn
, pIPalette
, pIFrameEncode
, ppSourceOut
);
665 if (pIPalette
) FIXME("ignoring palette\n");
667 if (!pSourceIn
|| !pIFrameEncode
|| !ppSourceOut
)
672 hr
= IWICBitmapSource_GetPixelFormat(pSourceIn
, &pixelformat
);
676 framepixelformat
= pixelformat
;
677 hr
= IWICBitmapFrameEncode_SetPixelFormat(pIFrameEncode
, &framepixelformat
);
682 if (IsEqualGUID(&pixelformat
, &framepixelformat
))
684 *ppSourceOut
= pSourceIn
;
685 IWICBitmapSource_AddRef(pSourceIn
);
689 hr
= WICConvertBitmapSource(&framepixelformat
, pSourceIn
, ppSourceOut
);