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
26 #define NONAMELESSUNION
33 #include "wincodecs_private.h"
35 #include "wine/debug.h"
37 WINE_DEFAULT_DEBUG_CHANNEL(wincodecs
);
39 HRESULT WINAPI
IWICBitmapSource_GetSize_Proxy_W(IWICBitmapSource
*iface
,
40 UINT
*puiWidth
, UINT
*puiHeight
)
42 return IWICBitmapSource_GetSize(iface
, puiWidth
, puiHeight
);
45 HRESULT WINAPI
IWICBitmapSource_GetPixelFormat_Proxy_W(IWICBitmapSource
*iface
,
46 WICPixelFormatGUID
*pPixelFormat
)
48 return IWICBitmapSource_GetPixelFormat(iface
, pPixelFormat
);
51 HRESULT WINAPI
IWICBitmapSource_GetResolution_Proxy_W(IWICBitmapSource
*iface
,
52 double *pDpiX
, double *pDpiY
)
54 return IWICBitmapSource_GetResolution(iface
, pDpiX
, pDpiY
);
57 HRESULT WINAPI
IWICBitmapSource_CopyPalette_Proxy_W(IWICBitmapSource
*iface
,
58 IWICPalette
*pIPalette
)
60 return IWICBitmapSource_CopyPalette(iface
, pIPalette
);
63 HRESULT WINAPI
IWICBitmapSource_CopyPixels_Proxy_W(IWICBitmapSource
*iface
,
64 const WICRect
*prc
, UINT cbStride
, UINT cbBufferSize
, BYTE
*pbBuffer
)
66 return IWICBitmapSource_CopyPixels(iface
, prc
, cbStride
, cbBufferSize
, pbBuffer
);
69 HRESULT WINAPI
IWICColorContext_InitializeFromMemory_Proxy_W(IWICColorContext
*iface
,
70 const BYTE
*pbBuffer
, UINT cbBufferSize
)
72 return IWICColorContext_InitializeFromMemory(iface
, pbBuffer
, cbBufferSize
);
75 HRESULT WINAPI
IWICFastMetadataEncoder_Commit_Proxy_W(IWICFastMetadataEncoder
*iface
)
77 return IWICFastMetadataEncoder_Commit(iface
);
80 HRESULT WINAPI
IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy_W(IWICFastMetadataEncoder
*iface
,
81 IWICMetadataQueryWriter
**ppIMetadataQueryWriter
)
83 return IWICFastMetadataEncoder_GetMetadataQueryWriter(iface
, ppIMetadataQueryWriter
);
86 HRESULT WINAPI
IWICImagingFactory_CreateBitmapClipper_Proxy_W(IWICImagingFactory
*pFactory
,
87 IWICBitmapClipper
**ppIBitmapClipper
)
89 return IWICImagingFactory_CreateBitmapClipper(pFactory
, ppIBitmapClipper
);
92 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFlipRotator_Proxy_W(IWICImagingFactory
*pFactory
,
93 IWICBitmapFlipRotator
**ppIBitmapFlipRotator
)
95 return IWICImagingFactory_CreateBitmapFlipRotator(pFactory
, ppIBitmapFlipRotator
);
98 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy_W(IWICImagingFactory
*pFactory
,
99 HBITMAP hBitmap
, HPALETTE hPalette
, WICBitmapAlphaChannelOption options
, IWICBitmap
**ppIBitmap
)
101 return IWICImagingFactory_CreateBitmapFromHBITMAP(pFactory
, hBitmap
, hPalette
, options
, ppIBitmap
);
104 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromHICON_Proxy_W(IWICImagingFactory
*pFactory
,
105 HICON hIcon
, IWICBitmap
**ppIBitmap
)
107 return IWICImagingFactory_CreateBitmapFromHICON(pFactory
, hIcon
, ppIBitmap
);
110 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromMemory_Proxy_W(IWICImagingFactory
*pFactory
,
111 UINT uiWidth
, UINT uiHeight
, REFWICPixelFormatGUID pixelFormat
, UINT cbStride
,
112 UINT cbBufferSize
, BYTE
*pbBuffer
, IWICBitmap
**ppIBitmap
)
114 return IWICImagingFactory_CreateBitmapFromMemory(pFactory
, uiWidth
, uiHeight
,
115 pixelFormat
, cbStride
, cbBufferSize
, pbBuffer
, ppIBitmap
);
118 HRESULT WINAPI
IWICImagingFactory_CreateBitmapFromSource_Proxy_W(IWICImagingFactory
*pFactory
,
119 IWICBitmapSource
*piBitmapSource
, WICBitmapCreateCacheOption option
, IWICBitmap
**ppIBitmap
)
121 return IWICImagingFactory_CreateBitmapFromSource(pFactory
, piBitmapSource
, option
, ppIBitmap
);
124 HRESULT WINAPI
IWICImagingFactory_CreateBitmapScaler_Proxy_W(IWICImagingFactory
*pFactory
,
125 IWICBitmapScaler
**ppIBitmapScaler
)
127 return IWICImagingFactory_CreateBitmapScaler(pFactory
, ppIBitmapScaler
);
130 HRESULT WINAPI
IWICImagingFactory_CreateBitmap_Proxy_W(IWICImagingFactory
*pFactory
,
131 UINT uiWidth
, UINT uiHeight
, REFWICPixelFormatGUID pixelFormat
,
132 WICBitmapCreateCacheOption option
, IWICBitmap
**ppIBitmap
)
134 return IWICImagingFactory_CreateBitmap(pFactory
, uiWidth
, uiHeight
,
135 pixelFormat
, option
, ppIBitmap
);
138 HRESULT WINAPI
IWICImagingFactory_CreateComponentInfo_Proxy_W(IWICImagingFactory
*pFactory
,
139 REFCLSID clsidComponent
, IWICComponentInfo
**ppIInfo
)
141 return IWICImagingFactory_CreateComponentInfo(pFactory
, clsidComponent
, ppIInfo
);
144 HRESULT WINAPI
IWICImagingFactory_CreateDecoderFromFileHandle_Proxy_W(IWICImagingFactory
*pFactory
,
145 ULONG_PTR hFile
, const GUID
*pguidVendor
, WICDecodeOptions metadataOptions
, IWICBitmapDecoder
**ppIDecoder
)
147 return IWICImagingFactory_CreateDecoderFromFileHandle(pFactory
, hFile
, pguidVendor
, metadataOptions
, ppIDecoder
);
150 HRESULT WINAPI
IWICImagingFactory_CreateDecoderFromFilename_Proxy_W(IWICImagingFactory
*pFactory
,
151 LPCWSTR wzFilename
, const GUID
*pguidVendor
, DWORD dwDesiredAccess
,
152 WICDecodeOptions metadataOptions
, IWICBitmapDecoder
**ppIDecoder
)
154 return IWICImagingFactory_CreateDecoderFromFilename(pFactory
, wzFilename
,
155 pguidVendor
, dwDesiredAccess
, metadataOptions
, ppIDecoder
);
158 HRESULT WINAPI
IWICImagingFactory_CreateDecoderFromStream_Proxy_W(IWICImagingFactory
*pFactory
,
159 IStream
*pIStream
, const GUID
*pguidVendor
,
160 WICDecodeOptions metadataOptions
, IWICBitmapDecoder
**ppIDecoder
)
162 return IWICImagingFactory_CreateDecoderFromStream(pFactory
, pIStream
, pguidVendor
, metadataOptions
, ppIDecoder
);
165 HRESULT WINAPI
IWICImagingFactory_CreateEncoder_Proxy_W(IWICImagingFactory
*pFactory
,
166 REFGUID guidContainerFormat
, const GUID
*pguidVendor
, IWICBitmapEncoder
**ppIEncoder
)
168 return IWICImagingFactory_CreateEncoder(pFactory
, guidContainerFormat
, pguidVendor
, ppIEncoder
);
171 HRESULT WINAPI
IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy_W(IWICImagingFactory
*pFactory
,
172 IWICBitmapDecoder
*pIDecoder
, IWICFastMetadataEncoder
**ppIFastEncoder
)
174 return IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(pFactory
, pIDecoder
, ppIFastEncoder
);
177 HRESULT WINAPI
IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy_W(IWICImagingFactory
*pFactory
,
178 IWICBitmapFrameDecode
*pIFrameDecoder
, IWICFastMetadataEncoder
**ppIFastEncoder
)
180 return IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(pFactory
, pIFrameDecoder
, ppIFastEncoder
);
183 HRESULT WINAPI
IWICImagingFactory_CreateFormatConverter_Proxy_W(IWICImagingFactory
*pFactory
,
184 IWICFormatConverter
**ppIFormatConverter
)
186 return IWICImagingFactory_CreateFormatConverter(pFactory
, ppIFormatConverter
);
189 HRESULT WINAPI
IWICImagingFactory_CreatePalette_Proxy_W(IWICImagingFactory
*pFactory
,
190 IWICPalette
**ppIPalette
)
192 return IWICImagingFactory_CreatePalette(pFactory
, ppIPalette
);
195 HRESULT WINAPI
IWICImagingFactory_CreateQueryWriterFromReader_Proxy_W(IWICImagingFactory
*pFactory
,
196 IWICMetadataQueryReader
*pIQueryReader
, const GUID
*pguidVendor
,
197 IWICMetadataQueryWriter
**ppIQueryWriter
)
199 return IWICImagingFactory_CreateQueryWriterFromReader(pFactory
, pIQueryReader
, pguidVendor
, ppIQueryWriter
);
202 HRESULT WINAPI
IWICImagingFactory_CreateQueryWriter_Proxy_W(IWICImagingFactory
*pFactory
,
203 REFGUID guidMetadataFormat
, const GUID
*pguidVendor
, IWICMetadataQueryWriter
**ppIQueryWriter
)
205 return IWICImagingFactory_CreateQueryWriter(pFactory
, guidMetadataFormat
, pguidVendor
, ppIQueryWriter
);
208 HRESULT WINAPI
IWICImagingFactory_CreateStream_Proxy_W(IWICImagingFactory
*pFactory
,
209 IWICStream
**ppIWICStream
)
211 return IWICImagingFactory_CreateStream(pFactory
, ppIWICStream
);
214 HRESULT WINAPI
WICCreateImagingFactory_Proxy(UINT SDKVersion
, IWICImagingFactory
**ppIImagingFactory
)
216 TRACE("%x, %p\n", SDKVersion
, ppIImagingFactory
);
218 return ImagingFactory_CreateInstance(NULL
, &IID_IWICImagingFactory
, (void**)ppIImagingFactory
);