windowscodecs: Add wrapper functions for IWICBitmap methods.
[wine/multimedia.git] / dlls / windowscodecs / proxy.c
blob011c074e2ffae36799fa3d8483c39980e7b521e8
1 /*
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
21 #include "config.h"
23 #include <stdarg.h>
25 #define COBJMACROS
26 #define NONAMELESSUNION
28 #include "windef.h"
29 #include "winbase.h"
30 #include "objbase.h"
31 #include "wincodec.h"
33 #include "wincodecs_private.h"
35 #include "wine/debug.h"
37 WINE_DEFAULT_DEBUG_CHANNEL(wincodecs);
39 HRESULT WINAPI IWICBitmapFlipRotator_Initialize_Proxy_W(IWICBitmapFlipRotator *iface,
40 IWICBitmapSource *pISource, WICBitmapTransformOptions options)
42 return IWICBitmapFlipRotator_Initialize(iface, pISource, options);
45 HRESULT WINAPI IWICBitmapLock_GetDataPointer_Proxy_W(IWICBitmapLock *iface,
46 UINT *pcbBufferSize, BYTE **ppbData)
48 return IWICBitmapLock_GetDataPointer(iface, pcbBufferSize, ppbData);
51 HRESULT WINAPI IWICBitmapLock_GetStride_Proxy_W(IWICBitmapLock *iface,
52 UINT *pcbStride)
54 return IWICBitmapLock_GetStride(iface, pcbStride);
57 HRESULT WINAPI IWICBitmapSource_GetSize_Proxy_W(IWICBitmapSource *iface,
58 UINT *puiWidth, UINT *puiHeight)
60 return IWICBitmapSource_GetSize(iface, puiWidth, puiHeight);
63 HRESULT WINAPI IWICBitmapSource_GetPixelFormat_Proxy_W(IWICBitmapSource *iface,
64 WICPixelFormatGUID *pPixelFormat)
66 return IWICBitmapSource_GetPixelFormat(iface, pPixelFormat);
69 HRESULT WINAPI IWICBitmapSource_GetResolution_Proxy_W(IWICBitmapSource *iface,
70 double *pDpiX, double *pDpiY)
72 return IWICBitmapSource_GetResolution(iface, pDpiX, pDpiY);
75 HRESULT WINAPI IWICBitmapSource_CopyPalette_Proxy_W(IWICBitmapSource *iface,
76 IWICPalette *pIPalette)
78 return IWICBitmapSource_CopyPalette(iface, pIPalette);
81 HRESULT WINAPI IWICBitmapSource_CopyPixels_Proxy_W(IWICBitmapSource *iface,
82 const WICRect *prc, UINT cbStride, UINT cbBufferSize, BYTE *pbBuffer)
84 return IWICBitmapSource_CopyPixels(iface, prc, cbStride, cbBufferSize, pbBuffer);
87 HRESULT WINAPI IWICBitmap_Lock_Proxy_W(IWICBitmap *iface,
88 const WICRect *prcLock, DWORD flags, IWICBitmapLock **ppILock)
90 return IWICBitmap_Lock(iface, prcLock, flags, ppILock);
93 HRESULT WINAPI IWICBitmap_SetPalette_Proxy_W(IWICBitmap *iface,
94 IWICPalette *pIPalette)
96 return IWICBitmap_SetPalette(iface, pIPalette);
99 HRESULT WINAPI IWICBitmap_SetResolution_Proxy_W(IWICBitmap *iface,
100 double dpiX, double dpiY)
102 return IWICBitmap_SetResolution(iface, dpiX, dpiY);
105 HRESULT WINAPI IWICColorContext_InitializeFromMemory_Proxy_W(IWICColorContext *iface,
106 const BYTE *pbBuffer, UINT cbBufferSize)
108 return IWICColorContext_InitializeFromMemory(iface, pbBuffer, cbBufferSize);
111 HRESULT WINAPI IWICFastMetadataEncoder_Commit_Proxy_W(IWICFastMetadataEncoder *iface)
113 return IWICFastMetadataEncoder_Commit(iface);
116 HRESULT WINAPI IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy_W(IWICFastMetadataEncoder *iface,
117 IWICMetadataQueryWriter **ppIMetadataQueryWriter)
119 return IWICFastMetadataEncoder_GetMetadataQueryWriter(iface, ppIMetadataQueryWriter);
122 HRESULT WINAPI IWICImagingFactory_CreateBitmapClipper_Proxy_W(IWICImagingFactory *pFactory,
123 IWICBitmapClipper **ppIBitmapClipper)
125 return IWICImagingFactory_CreateBitmapClipper(pFactory, ppIBitmapClipper);
128 HRESULT WINAPI IWICImagingFactory_CreateBitmapFlipRotator_Proxy_W(IWICImagingFactory *pFactory,
129 IWICBitmapFlipRotator **ppIBitmapFlipRotator)
131 return IWICImagingFactory_CreateBitmapFlipRotator(pFactory, ppIBitmapFlipRotator);
134 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy_W(IWICImagingFactory *pFactory,
135 HBITMAP hBitmap, HPALETTE hPalette, WICBitmapAlphaChannelOption options, IWICBitmap **ppIBitmap)
137 return IWICImagingFactory_CreateBitmapFromHBITMAP(pFactory, hBitmap, hPalette, options, ppIBitmap);
140 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromHICON_Proxy_W(IWICImagingFactory *pFactory,
141 HICON hIcon, IWICBitmap **ppIBitmap)
143 return IWICImagingFactory_CreateBitmapFromHICON(pFactory, hIcon, ppIBitmap);
146 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromMemory_Proxy_W(IWICImagingFactory *pFactory,
147 UINT uiWidth, UINT uiHeight, REFWICPixelFormatGUID pixelFormat, UINT cbStride,
148 UINT cbBufferSize, BYTE *pbBuffer, IWICBitmap **ppIBitmap)
150 return IWICImagingFactory_CreateBitmapFromMemory(pFactory, uiWidth, uiHeight,
151 pixelFormat, cbStride, cbBufferSize, pbBuffer, ppIBitmap);
154 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromSource_Proxy_W(IWICImagingFactory *pFactory,
155 IWICBitmapSource *piBitmapSource, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
157 return IWICImagingFactory_CreateBitmapFromSource(pFactory, piBitmapSource, option, ppIBitmap);
160 HRESULT WINAPI IWICImagingFactory_CreateBitmapScaler_Proxy_W(IWICImagingFactory *pFactory,
161 IWICBitmapScaler **ppIBitmapScaler)
163 return IWICImagingFactory_CreateBitmapScaler(pFactory, ppIBitmapScaler);
166 HRESULT WINAPI IWICImagingFactory_CreateBitmap_Proxy_W(IWICImagingFactory *pFactory,
167 UINT uiWidth, UINT uiHeight, REFWICPixelFormatGUID pixelFormat,
168 WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
170 return IWICImagingFactory_CreateBitmap(pFactory, uiWidth, uiHeight,
171 pixelFormat, option, ppIBitmap);
174 HRESULT WINAPI IWICImagingFactory_CreateComponentInfo_Proxy_W(IWICImagingFactory *pFactory,
175 REFCLSID clsidComponent, IWICComponentInfo **ppIInfo)
177 return IWICImagingFactory_CreateComponentInfo(pFactory, clsidComponent, ppIInfo);
180 HRESULT WINAPI IWICImagingFactory_CreateDecoderFromFileHandle_Proxy_W(IWICImagingFactory *pFactory,
181 ULONG_PTR hFile, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
183 return IWICImagingFactory_CreateDecoderFromFileHandle(pFactory, hFile, pguidVendor, metadataOptions, ppIDecoder);
186 HRESULT WINAPI IWICImagingFactory_CreateDecoderFromFilename_Proxy_W(IWICImagingFactory *pFactory,
187 LPCWSTR wzFilename, const GUID *pguidVendor, DWORD dwDesiredAccess,
188 WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
190 return IWICImagingFactory_CreateDecoderFromFilename(pFactory, wzFilename,
191 pguidVendor, dwDesiredAccess, metadataOptions, ppIDecoder);
194 HRESULT WINAPI IWICImagingFactory_CreateDecoderFromStream_Proxy_W(IWICImagingFactory *pFactory,
195 IStream *pIStream, const GUID *pguidVendor,
196 WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
198 return IWICImagingFactory_CreateDecoderFromStream(pFactory, pIStream, pguidVendor, metadataOptions, ppIDecoder);
201 HRESULT WINAPI IWICImagingFactory_CreateEncoder_Proxy_W(IWICImagingFactory *pFactory,
202 REFGUID guidContainerFormat, const GUID *pguidVendor, IWICBitmapEncoder **ppIEncoder)
204 return IWICImagingFactory_CreateEncoder(pFactory, guidContainerFormat, pguidVendor, ppIEncoder);
207 HRESULT WINAPI IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy_W(IWICImagingFactory *pFactory,
208 IWICBitmapDecoder *pIDecoder, IWICFastMetadataEncoder **ppIFastEncoder)
210 return IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(pFactory, pIDecoder, ppIFastEncoder);
213 HRESULT WINAPI IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy_W(IWICImagingFactory *pFactory,
214 IWICBitmapFrameDecode *pIFrameDecoder, IWICFastMetadataEncoder **ppIFastEncoder)
216 return IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(pFactory, pIFrameDecoder, ppIFastEncoder);
219 HRESULT WINAPI IWICImagingFactory_CreateFormatConverter_Proxy_W(IWICImagingFactory *pFactory,
220 IWICFormatConverter **ppIFormatConverter)
222 return IWICImagingFactory_CreateFormatConverter(pFactory, ppIFormatConverter);
225 HRESULT WINAPI IWICImagingFactory_CreatePalette_Proxy_W(IWICImagingFactory *pFactory,
226 IWICPalette **ppIPalette)
228 return IWICImagingFactory_CreatePalette(pFactory, ppIPalette);
231 HRESULT WINAPI IWICImagingFactory_CreateQueryWriterFromReader_Proxy_W(IWICImagingFactory *pFactory,
232 IWICMetadataQueryReader *pIQueryReader, const GUID *pguidVendor,
233 IWICMetadataQueryWriter **ppIQueryWriter)
235 return IWICImagingFactory_CreateQueryWriterFromReader(pFactory, pIQueryReader, pguidVendor, ppIQueryWriter);
238 HRESULT WINAPI IWICImagingFactory_CreateQueryWriter_Proxy_W(IWICImagingFactory *pFactory,
239 REFGUID guidMetadataFormat, const GUID *pguidVendor, IWICMetadataQueryWriter **ppIQueryWriter)
241 return IWICImagingFactory_CreateQueryWriter(pFactory, guidMetadataFormat, pguidVendor, ppIQueryWriter);
244 HRESULT WINAPI IWICImagingFactory_CreateStream_Proxy_W(IWICImagingFactory *pFactory,
245 IWICStream **ppIWICStream)
247 return IWICImagingFactory_CreateStream(pFactory, ppIWICStream);
250 HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT SDKVersion, IWICImagingFactory **ppIImagingFactory)
252 TRACE("%x, %p\n", SDKVersion, ppIImagingFactory);
254 return ImagingFactory_CreateInstance(NULL, &IID_IWICImagingFactory, (void**)ppIImagingFactory);