67 *
ppv = &
This->IWICComponentFactory_iface;
69 else if (
IsEqualIID(&IID_IWICImagingFactory2, iid))
71 *
ppv = &
This->IWICImagingFactory2_iface;
88 TRACE(
"(%p) refcount=%u\n", iface,
ref);
98 TRACE(
"(%p) refcount=%u\n", iface,
ref);
115 debugstr_guid(pguidVendor), dwDesiredAccess, metadataOptions, ppIDecoder);
120 hr = IWICStream_InitializeFromFilename(
stream, wzFilename, dwDesiredAccess);
124 hr = IWICImagingFactory2_CreateDecoderFromStream(iface, (
IStream*)
stream,
125 pguidVendor, metadataOptions, ppIDecoder);
128 IWICStream_Release(
stream);
152 res = IEnumUnknown_Next(enumdecoders, 1, &unkdecoderinfo, &num_fetched);
156 res = IUnknown_QueryInterface(unkdecoderinfo, &IID_IWICBitmapDecoderInfo, (
void**)&decoderinfo);
162 res = IWICBitmapDecoderInfo_GetVendorGUID(decoderinfo, &
vendor);
165 IWICBitmapDecoderInfo_Release(decoderinfo);
166 IUnknown_Release(unkdecoderinfo);
171 res = IWICBitmapDecoderInfo_MatchesPattern(decoderinfo, pIStream, &
matches);
175 res = IWICBitmapDecoderInfo_CreateInstance(decoderinfo, decoder);
181 res = IWICBitmapDecoder_Initialize(*decoder, pIStream, metadataOptions);
185 IWICBitmapDecoder_Release(*decoder);
186 IWICBitmapDecoderInfo_Release(decoderinfo);
187 IUnknown_Release(unkdecoderinfo);
188 IEnumUnknown_Release(enumdecoders);
195 IWICBitmapDecoderInfo_Release(decoderinfo);
198 IUnknown_Release(unkdecoderinfo);
204 IEnumUnknown_Release(enumdecoders);
217 metadataOptions, ppIDecoder);
226 *ppIDecoder = decoder;
237 WARN(
"failed to load from a stream %#x\n",
res);
240 if (IStream_Seek(pIStream,
seek, STREAM_SEEK_SET,
NULL) ==
S_OK)
242 if (IStream_Read(pIStream,
data, 4, &bytesread) ==
S_OK)
259 metadataOptions, ppIDecoder);
267 hr = IWICImagingFactory2_CreateDecoderFromStream(iface, (
IStream*)
stream,
268 pguidVendor, metadataOptions, ppIDecoder);
270 IWICStream_Release(
stream);
283 REFGUID guidContainerFormat,
const GUID *pguidVendor,
297 if (!guidContainerFormat || !ppIDecoder)
return E_INVALIDARG;
302 while (!preferred_decoder)
304 res = IEnumUnknown_Next(enumdecoders, 1, &unkdecoderinfo, &num_fetched);
307 res = IUnknown_QueryInterface(unkdecoderinfo, &IID_IWICBitmapDecoderInfo, (
void **)&decoderinfo);
312 res = IWICBitmapDecoderInfo_GetContainerFormat(decoderinfo, &container_guid);
317 res = IWICBitmapDecoderInfo_CreateInstance(decoderinfo, &new_decoder);
322 res = IWICBitmapDecoderInfo_GetVendorGUID(decoderinfo, &
vendor);
325 preferred_decoder = new_decoder;
330 if (new_decoder && !decoder)
332 decoder = new_decoder;
336 if (new_decoder) IWICBitmapDecoder_Release(new_decoder);
340 IWICBitmapDecoderInfo_Release(decoderinfo);
343 IUnknown_Release(unkdecoderinfo);
346 IEnumUnknown_Release(enumdecoders);
348 if (preferred_decoder)
350 *ppIDecoder = preferred_decoder;
351 if (decoder) IWICBitmapDecoder_Release(decoder);
357 *ppIDecoder = decoder;
366 REFGUID guidContainerFormat,
const GUID *pguidVendor,
376 GUID actual_containerformat;
381 if (pguidVendor && !fixme++)
382 FIXME(
"ignoring vendor GUID\n");
389 res = IEnumUnknown_Next(enumencoders, 1, &unkencoderinfo, &num_fetched);
393 res = IUnknown_QueryInterface(unkencoderinfo, &IID_IWICBitmapEncoderInfo, (
void**)&encoderinfo);
397 res = IWICBitmapEncoderInfo_GetContainerFormat(encoderinfo, &actual_containerformat);
401 res = IWICBitmapEncoderInfo_CreateInstance(encoderinfo, &encoder);
406 IWICBitmapEncoderInfo_Release(encoderinfo);
409 IUnknown_Release(unkencoderinfo);
415 IEnumUnknown_Release(enumencoders);
419 *ppIEncoder = encoder;
424 WARN(
"failed to create encoder\n");
433 TRACE(
"(%p,%p)\n", iface, ppIPalette);
446 TRACE(
"(%p,%p)\n", iface, ppIBitmapScaler);
454 TRACE(
"(%p,%p)\n", iface, ppIBitmapClipper);
461 TRACE(
"(%p,%p)\n", iface, ppIBitmapFlipRotator);
468 TRACE(
"(%p,%p)\n", iface, ppIWICStream);
475 TRACE(
"(%p,%p)\n", iface, ppIColorContext);
482 TRACE(
"(%p,%p)\n", iface, ppIColorTransform);
490 TRACE(
"(%p,%u,%u,%s,%u,%p)\n", iface, uiWidth, uiHeight,
512 if (!piBitmapSource || !ppIBitmap)
516 &IID_IWICBitmap, (
void **)&
result)))
522 hr = IWICBitmapSource_GetSize(piBitmapSource, &
width, &
height);
534 hr = IWICBitmapSource_GetPixelFormat(piBitmapSource, &
pixelformat);
541 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICPixelFormatInfo2, (
void**)&formatinfo);
545 hr = IWICPixelFormatInfo2_GetNumericRepresentation(formatinfo, &
format_type);
547 IWICPixelFormatInfo2_Release(formatinfo);
550 IWICComponentInfo_Release(
info);
577 hr = IWICBitmapLock_GetDataPointer(
lock, &buffersize, &
buffer);
580 hr = IWICBitmapSource_CopyPixels(piBitmapSource, &rc,
stride,
583 IWICBitmapLock_Release(
lock);
593 hr = IWICBitmapSource_CopyPalette(piBitmapSource,
palette);
606 hr = IWICBitmapSource_GetResolution(piBitmapSource, &dpix, &dpiy);
609 hr = IWICBitmap_SetResolution(
result, dpix, dpiy);
617 IWICBitmap_Release(
result);
627 TRACE(
"(%p,%p,%u,%p)\n", iface, piBitmapSource,
option, ppIBitmap);
638 TRACE(
"(%p,%p,%u,%u,%u,%u,%p)\n", iface, piBitmapSource,
x,
y,
width,
655 TRACE(
"(%p,%u,%u,%s,%u,%u,%p,%p\n", iface,
width,
height,
671 IWICBitmapLock_GetDataPointer(
lock, &buffersize, &
data);
674 IWICBitmapLock_Release(
lock);
678 IWICBitmap_Release(*
bitmap);
693 memset(&bmh, 0,
sizeof(bmh));
706 *
format = GUID_WICPixelFormat16bppBGR555;
712 *
format = GUID_WICPixelFormat16bppBGR565;
745 if (!num_palette_entries)
750 switch(bm.bmBitsPixel)
753 format = GUID_WICPixelFormat1bppIndexed;
756 format = GUID_WICPixelFormat4bppIndexed;
759 format = GUID_WICPixelFormat8bppIndexed;
766 format = GUID_WICPixelFormat24bppBGR;
772 format = GUID_WICPixelFormat32bppBGRA;
775 format = GUID_WICPixelFormat32bppPBGRA;
778 format = GUID_WICPixelFormat32bppBGR;
785 format = GUID_WICPixelFormat48bppRGB;
788 FIXME(
"unsupported %d bpp\n", bm.bmBitsPixel);
809 bmi->bmiHeader.biBitCount = 0;
811 bmi->bmiHeader.biHeight = -bm.bmHeight;
815 IWICBitmapLock_Release(
lock);
817 if (num_palette_entries)
826 for (
i = 0;
i < num_palette_entries;
i++)
827 colors[
i] = 0xff000000 |
entry[
i].peRed << 16 |
830 hr = IWICPalette_InitializeCustom(
palette, colors, num_palette_entries);
841 IWICBitmap_Release(*
bitmap);
879 if (
hr !=
S_OK)
goto failed;
884 IWICBitmap_Release(*
bitmap);
891 memset(&bi, 0,
sizeof(bi));
905 if (bm.bmBitsPixel == 32)
913 if (*
bits & 0xff000000)
936 IWICBitmapLock_Release(
lock);
937 IWICBitmap_Release(*
bitmap);
975 IWICBitmapLock_Release(
lock);
988 TRACE(
"(%p,%u,%u,%p)\n", iface, componentTypes,
options, ppIEnumUnknown);
996 FIXME(
"(%p,%p,%p): stub\n", iface, pIDecoder, ppIFastEncoder);
1004 FIXME(
"(%p,%p,%p): stub\n", iface, pIFrameDecoder, ppIFastEncoder);
1009 REFGUID guidMetadataFormat,
const GUID *pguidVendor,
1029 FIXME(
"%p,%p,%p stub.\n", iface,
device, encoder);
1071 return IWICImagingFactory2_QueryInterface(&
This->IWICImagingFactory2_iface, iid,
ppv);
1077 return IWICImagingFactory2_AddRef(&
This->IWICImagingFactory2_iface);
1083 return IWICImagingFactory2_Release(&
This->IWICImagingFactory2_iface);
1090 return IWICImagingFactory2_CreateDecoderFromFilename(&
This->IWICImagingFactory2_iface,
filename,
vendor,
1091 desired_access,
options, decoder);
1098 return IWICImagingFactory2_CreateDecoderFromStream(&
This->IWICImagingFactory2_iface,
stream,
vendor,
1106 return IWICImagingFactory2_CreateDecoderFromFileHandle(&
This->IWICImagingFactory2_iface,
hFile,
vendor,
1114 return IWICImagingFactory2_CreateComponentInfo(&
This->IWICImagingFactory2_iface, component,
info);
1121 return IWICImagingFactory2_CreateDecoder(&
This->IWICImagingFactory2_iface,
format,
vendor, decoder);
1128 return IWICImagingFactory2_CreateEncoder(&
This->IWICImagingFactory2_iface,
format,
vendor, encoder);
1134 return IWICImagingFactory2_CreatePalette(&
This->IWICImagingFactory2_iface,
palette);
1140 return IWICImagingFactory2_CreateFormatConverter(&
This->IWICImagingFactory2_iface, converter);
1146 return IWICImagingFactory2_CreateBitmapScaler(&
This->IWICImagingFactory2_iface, scaler);
1152 return IWICImagingFactory2_CreateBitmapClipper(&
This->IWICImagingFactory2_iface, clipper);
1158 return IWICImagingFactory2_CreateBitmapFlipRotator(&
This->IWICImagingFactory2_iface, fliprotator);
1164 return IWICImagingFactory2_CreateStream(&
This->IWICImagingFactory2_iface,
stream);
1170 return IWICImagingFactory2_CreateColorContext(&
This->IWICImagingFactory2_iface,
context);
1176 return IWICImagingFactory2_CreateColorTransformer(&
This->IWICImagingFactory2_iface, transformer);
1190 return IWICImagingFactory2_CreateBitmapFromSource(&
This->IWICImagingFactory2_iface,
source,
option,
bitmap);
1212 return IWICImagingFactory2_CreateBitmapFromHBITMAP(&
This->IWICImagingFactory2_iface,
hbm, hpal,
option,
bitmap);
1218 return IWICImagingFactory2_CreateBitmapFromHICON(&
This->IWICImagingFactory2_iface, hicon,
bitmap);
1225 return IWICImagingFactory2_CreateComponentEnumerator(&
This->IWICImagingFactory2_iface, component_types,
1233 return IWICImagingFactory2_CreateFastMetadataEncoderFromDecoder(&
This->IWICImagingFactory2_iface, decoder, encoder);
1240 return IWICImagingFactory2_CreateFastMetadataEncoderFromFrameDecode(&
This->IWICImagingFactory2_iface, frame_decode, encoder);
1247 return IWICImagingFactory2_CreateQueryWriter(&
This->IWICImagingFactory2_iface,
format,
vendor, writer);
1254 return IWICImagingFactory2_CreateQueryWriterFromReader(&
This->IWICImagingFactory2_iface,
reader,
vendor, writer);
1274 GUID decoder_vendor;
1294 hr = IEnumUnknown_Next(enumreaders, 1, &unkreaderinfo, &num_fetched);
1298 hr = IUnknown_QueryInterface(unkreaderinfo, &IID_IWICMetadataReaderInfo, (
void**)&readerinfo);
1304 hr = IWICMetadataReaderInfo_GetVendorGUID(readerinfo, &decoder_vendor);
1308 IWICMetadataReaderInfo_Release(readerinfo);
1309 IUnknown_Release(unkreaderinfo);
1321 hr = IWICMetadataReaderInfo_CreateInstance(readerinfo,
reader);
1325 hr = IWICMetadataReader_QueryInterface(*
reader, &IID_IWICPersistStream, (
void**)&wicpersiststream);
1329 hr = IWICPersistStream_LoadEx(wicpersiststream,
1332 IWICPersistStream_Release(wicpersiststream);
1337 IWICMetadataReader_Release(*
reader);
1343 IUnknown_Release(readerinfo);
1346 IUnknown_Release(unkreaderinfo);
1355 IEnumUnknown_Reset(enumreaders);
1359 IEnumUnknown_Release(enumreaders);
1370 hr = IWICMetadataReader_QueryInterface(*
reader, &IID_IWICPersistStream, (
void**)&wicpersiststream);
1376 IWICPersistStream_Release(wicpersiststream);
1381 IWICMetadataReader_Release(*
reader);
1410 TRACE(
"%p,%p,%p\n", iface, block_reader, query_reader);
1412 if (!block_reader || !query_reader)
1421 FIXME(
"%p,%p,%p: stub\n", iface, block_writer, query_writer);
1486 ret = IWICImagingFactory2_QueryInterface(&
This->IWICImagingFactory2_iface, iid,
ppv);
1487 IWICImagingFactory2_Release(&
This->IWICImagingFactory2_iface);
1501 TRACE(
"%u,%u,%s,%p,%u,%u,%#x,%p\n",
width,
height,
debugstr_guid(
format),
1520 FIXME(
"unsupported access %#x\n", wicaccess);
1545 TRACE(
"%u,%u,%s,%p,%u,%u,%p\n",
width,
height,
debugstr_guid(
format),
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT ColorContext_Create(IWICColorContext **colorcontext)
#define HeapFree(x, y, z)
VOID WINAPI GetSystemInfo(IN LPSYSTEM_INFO lpSystemInfo)
HRESULT BitmapImpl_Create(UINT uiWidth, UINT uiHeight, UINT stride, UINT datasize, void *view, UINT offset, REFWICPixelFormatGUID pixelFormat, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
HRESULT FormatConverter_CreateInstance(REFIID iid, void **ppv)
HRESULT CreateComponentInfo(REFCLSID clsid, IWICComponentInfo **ppIInfo)
HRESULT CreateComponentEnumerator(DWORD componentTypes, DWORD options, IEnumUnknown **ppIEnumUnknown)
HRESULT get_pixelformat_bpp(const GUID *pixelformat, UINT *bpp)
HRESULT PaletteImpl_Create(IWICPalette **palette)
HRESULT CreatePropertyBag2(const PROPBAG2 *options, UINT count, IPropertyBag2 **ppPropertyBag2)
HRESULT stream_initialize_from_filehandle(IWICStream *iface, HANDLE file)
HRESULT StreamImpl_Create(IWICStream **stream)
HRESULT FlipRotator_Create(IWICBitmapFlipRotator **fliprotator)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLuint GLint GLboolean GLint GLenum access
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static HRESULT WINAPI ComponentFactory_CreateMetadataWriter(IWICComponentFactory *iface, REFGUID format, const GUID *vendor, DWORD options, IWICMetadataWriter **writer)
static HRESULT WINAPI ImagingFactory_CreateQueryWriterFromReader(IWICImagingFactory2 *iface, IWICMetadataQueryReader *pIQueryReader, const GUID *pguidVendor, IWICMetadataQueryWriter **ppIQueryWriter)
static HRESULT WINAPI ImagingFactory_CreateQueryWriter(IWICImagingFactory2 *iface, REFGUID guidMetadataFormat, const GUID *pguidVendor, IWICMetadataQueryWriter **ppIQueryWriter)
static HRESULT WINAPI ImagingFactory_CreatePalette(IWICImagingFactory2 *iface, IWICPalette **ppIPalette)
static const IWICImagingFactory2Vtbl ImagingFactory_Vtbl
static HRESULT WINAPI ImagingFactory_CreateBitmapScaler(IWICImagingFactory2 *iface, IWICBitmapScaler **ppIBitmapScaler)
static HRESULT create_bitmap_from_source_rect(IWICBitmapSource *piBitmapSource, const WICRect *rect, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
static HRESULT find_decoder(IStream *pIStream, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **decoder)
static HRESULT WINAPI ImagingFactory_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory2 *iface, IWICBitmapFrameDecode *pIFrameDecoder, IWICFastMetadataEncoder **ppIFastEncoder)
static HRESULT WINAPI ComponentFactory_CreateDecoderFromFilename(IWICComponentFactory *iface, LPCWSTR filename, const GUID *vendor, DWORD desired_access, WICDecodeOptions options, IWICBitmapDecoder **decoder)
static HRESULT WINAPI ImagingFactory_CreateBitmapClipper(IWICImagingFactory2 *iface, IWICBitmapClipper **ppIBitmapClipper)
static HRESULT WINAPI ComponentFactory_CreateBitmapFlipRotator(IWICComponentFactory *iface, IWICBitmapFlipRotator **fliprotator)
static HRESULT WINAPI ImagingFactory_CreateBitmapFromHBITMAP(IWICImagingFactory2 *iface, HBITMAP hbm, HPALETTE hpal, WICBitmapAlphaChannelOption option, IWICBitmap **bitmap)
static HRESULT WINAPI ComponentFactory_QueryInterface(IWICComponentFactory *iface, REFIID iid, void **ppv)
static HRESULT WINAPI ComponentFactory_CreateBitmapClipper(IWICComponentFactory *iface, IWICBitmapClipper **clipper)
static BOOL get_16bpp_format(HBITMAP hbm, WICPixelFormatGUID *format)
static HRESULT WINAPI ComponentFactory_CreateQueryWriterFromBlockWriter(IWICComponentFactory *iface, IWICMetadataBlockWriter *block_writer, IWICMetadataQueryWriter **query_writer)
static const IWICComponentFactoryVtbl ComponentFactory_Vtbl
static HRESULT WINAPI ImagingFactory_CreateColorContext(IWICImagingFactory2 *iface, IWICColorContext **ppIColorContext)
static HRESULT WINAPI ComponentFactory_CreateComponentEnumerator(IWICComponentFactory *iface, DWORD component_types, DWORD options, IEnumUnknown **enumerator)
static HRESULT WINAPI ComponentFactory_CreateColorTransformer(IWICComponentFactory *iface, IWICColorTransform **transformer)
static HRESULT WINAPI ComponentFactory_CreateDecoder(IWICComponentFactory *iface, REFGUID format, const GUID *vendor, IWICBitmapDecoder **decoder)
HRESULT WINAPI WICCreateBitmapFromSection(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, IWICBitmap **bitmap)
static HRESULT WINAPI ComponentFactory_CreateColorContext(IWICComponentFactory *iface, IWICColorContext **context)
static HRESULT WINAPI ImagingFactory_CreateBitmapFromHICON(IWICImagingFactory2 *iface, HICON hicon, IWICBitmap **bitmap)
static ULONG WINAPI ComponentFactory_Release(IWICComponentFactory *iface)
static HRESULT WINAPI ImagingFactory_CreateEncoder(IWICImagingFactory2 *iface, REFGUID guidContainerFormat, const GUID *pguidVendor, IWICBitmapEncoder **ppIEncoder)
static HRESULT WINAPI ComponentFactory_CreateBitmapFromSource(IWICComponentFactory *iface, IWICBitmapSource *source, WICBitmapCreateCacheOption option, IWICBitmap **bitmap)
static HRESULT WINAPI ImagingFactory_CreateComponentInfo(IWICImagingFactory2 *iface, REFCLSID clsidComponent, IWICComponentInfo **ppIInfo)
static HRESULT WINAPI ComponentFactory_CreateBitmapFromMemory(IWICComponentFactory *iface, UINT width, UINT height, REFWICPixelFormatGUID format, UINT stride, UINT size, BYTE *buffer, IWICBitmap **bitmap)
static HRESULT WINAPI ComponentFactory_CreateQueryWriterFromReader(IWICComponentFactory *iface, IWICMetadataQueryReader *reader, const GUID *vendor, IWICMetadataQueryWriter **writer)
static HRESULT WINAPI ComponentFactory_CreateQueryReaderFromBlockReader(IWICComponentFactory *iface, IWICMetadataBlockReader *block_reader, IWICMetadataQueryReader **query_reader)
static HRESULT WINAPI ImagingFactory_QueryInterface(IWICImagingFactory2 *iface, REFIID iid, void **ppv)
static HRESULT WINAPI ComponentFactory_CreateFastMetadataEncoderFromFrameDecode(IWICComponentFactory *iface, IWICBitmapFrameDecode *frame_decode, IWICFastMetadataEncoder **encoder)
HRESULT WINAPI WICCreateBitmapFromSectionEx(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, WICSectionAccessLevel wicaccess, IWICBitmap **bitmap)
static HRESULT WINAPI ImagingFactory_CreateDecoderFromFileHandle(IWICImagingFactory2 *iface, ULONG_PTR hFile, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
static HRESULT WINAPI ImagingFactory_CreateBitmapFlipRotator(IWICImagingFactory2 *iface, IWICBitmapFlipRotator **ppIBitmapFlipRotator)
static HRESULT WINAPI ComponentFactory_CreateBitmap(IWICComponentFactory *iface, UINT width, UINT height, REFWICPixelFormatGUID pixel_format, WICBitmapCreateCacheOption option, IWICBitmap **bitmap)
static HRESULT WINAPI ImagingFactory_CreateBitmapFromSource(IWICImagingFactory2 *iface, IWICBitmapSource *piBitmapSource, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
static HRESULT WINAPI ImagingFactory_CreateStream(IWICImagingFactory2 *iface, IWICStream **ppIWICStream)
static HRESULT WINAPI ComponentFactory_CreatePalette(IWICComponentFactory *iface, IWICPalette **palette)
static HRESULT WINAPI ImagingFactory_CreateDecoder(IWICImagingFactory2 *iface, REFGUID guidContainerFormat, const GUID *pguidVendor, IWICBitmapDecoder **ppIDecoder)
static HRESULT WINAPI ComponentFactory_CreateEncoder(IWICComponentFactory *iface, REFGUID format, const GUID *vendor, IWICBitmapEncoder **encoder)
static ULONG WINAPI ImagingFactory_Release(IWICImagingFactory2 *iface)
static HRESULT WINAPI ComponentFactory_CreateMetadataReaderFromContainer(IWICComponentFactory *iface, REFGUID format, const GUID *vendor, DWORD options, IStream *stream, IWICMetadataReader **reader)
static HRESULT WINAPI ImagingFactory_CreateColorTransformer(IWICImagingFactory2 *iface, IWICColorTransform **ppIColorTransform)
static ULONG WINAPI ImagingFactory_AddRef(IWICImagingFactory2 *iface)
static HRESULT WINAPI ComponentFactory_CreateFastMetadataEncoderFromDecoder(IWICComponentFactory *iface, IWICBitmapDecoder *decoder, IWICFastMetadataEncoder **encoder)
static HRESULT WINAPI ComponentFactory_CreateMetadataReader(IWICComponentFactory *iface, REFGUID format, const GUID *vendor, DWORD options, IStream *stream, IWICMetadataReader **reader)
static HRESULT WINAPI ComponentFactory_CreateComponentInfo(IWICComponentFactory *iface, REFCLSID component, IWICComponentInfo **info)
static ImagingFactory * impl_from_IWICImagingFactory2(IWICImagingFactory2 *iface)
static HRESULT WINAPI ImagingFactory_CreateDecoderFromFilename(IWICImagingFactory2 *iface, LPCWSTR wzFilename, const GUID *pguidVendor, DWORD dwDesiredAccess, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
static HRESULT WINAPI ComponentFactory_CreateBitmapFromHICON(IWICComponentFactory *iface, HICON hicon, IWICBitmap **bitmap)
static ULONG WINAPI ComponentFactory_AddRef(IWICComponentFactory *iface)
static HRESULT WINAPI ComponentFactory_CreateQueryWriter(IWICComponentFactory *iface, REFGUID format, const GUID *vendor, IWICMetadataQueryWriter **writer)
static HRESULT WINAPI ComponentFactory_CreateDecoderFromStream(IWICComponentFactory *iface, IStream *stream, const GUID *vendor, WICDecodeOptions options, IWICBitmapDecoder **decoder)
static HRESULT WINAPI ImagingFactory_CreateBitmap(IWICImagingFactory2 *iface, UINT uiWidth, UINT uiHeight, REFWICPixelFormatGUID pixelFormat, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
static HRESULT WINAPI ComponentFactory_CreateStream(IWICComponentFactory *iface, IWICStream **stream)
static HRESULT WINAPI ComponentFactory_CreateBitmapScaler(IWICComponentFactory *iface, IWICBitmapScaler **scaler)
static HRESULT WINAPI ImagingFactory_CreateComponentEnumerator(IWICImagingFactory2 *iface, DWORD componentTypes, DWORD options, IEnumUnknown **ppIEnumUnknown)
static ImagingFactory * impl_from_IWICComponentFactory(IWICComponentFactory *iface)
static HRESULT WINAPI ImagingFactory_CreateBitmapFromSourceRect(IWICImagingFactory2 *iface, IWICBitmapSource *piBitmapSource, UINT x, UINT y, UINT width, UINT height, IWICBitmap **ppIBitmap)
static HRESULT WINAPI ImagingFactory_CreateImageEncoder(IWICImagingFactory2 *iface, ID2D1Device *device, IWICImageEncoder **encoder)
static HRESULT WINAPI ImagingFactory_CreateBitmapFromMemory(IWICImagingFactory2 *iface, UINT width, UINT height, REFWICPixelFormatGUID format, UINT stride, UINT size, BYTE *buffer, IWICBitmap **bitmap)
static HRESULT WINAPI ComponentFactory_CreateDecoderFromFileHandle(IWICComponentFactory *iface, ULONG_PTR hFile, const GUID *vendor, WICDecodeOptions options, IWICBitmapDecoder **decoder)
static HRESULT WINAPI ImagingFactory_CreateFormatConverter(IWICImagingFactory2 *iface, IWICFormatConverter **ppIFormatConverter)
static HRESULT WINAPI ComponentFactory_CreateBitmapFromHBITMAP(IWICComponentFactory *iface, HBITMAP hbm, HPALETTE hpal, WICBitmapAlphaChannelOption option, IWICBitmap **bitmap)
static HRESULT WINAPI ComponentFactory_CreateEncoderPropertyBag(IWICComponentFactory *iface, PROPBAG2 *options, UINT count, IPropertyBag2 **property)
static HRESULT WINAPI ImagingFactory_CreateDecoderFromStream(IWICImagingFactory2 *iface, IStream *pIStream, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
HRESULT ImagingFactory_CreateInstance(REFIID iid, void **ppv)
static HRESULT WINAPI ImagingFactory_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory2 *iface, IWICBitmapDecoder *pIDecoder, IWICFastMetadataEncoder **ppIFastEncoder)
static HRESULT WINAPI ComponentFactory_CreateBitmapFromSourceRect(IWICComponentFactory *iface, IWICBitmapSource *source, UINT x, UINT y, UINT width, UINT height, IWICBitmap **bitmap)
static HRESULT WINAPI ComponentFactory_CreateFormatConverter(IWICComponentFactory *iface, IWICFormatConverter **converter)
static HRESULT WINAPI ComponentFactory_CreateMetadataWriterFromReader(IWICComponentFactory *iface, IWICMetadataReader *reader, const GUID *vendor, IWICMetadataWriter **writer)
#define memcpy(s1, s2, n)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
HRESULT BitmapScaler_Create(IWICBitmapScaler **scaler)
int seek(void *fd, ulong off, int mode)
IWICComponentFactory IWICComponentFactory_iface
IWICImagingFactory2 IWICImagingFactory2_iface
DWORD dwAllocationGranularity
BITMAPINFOHEADER bmiHeader
#define FIELD_OFFSET(t, f)
#define CONTAINING_RECORD(address, type, field)
HRESULT BitmapClipper_Create(IWICBitmapClipper **clipper)
UINT WINAPI GetPaletteEntries(HPALETTE hpal, UINT iStartIndex, UINT cEntries, LPPALETTEENTRY ppe)
DWORD WINAPI GetLastError(void)
@ WICSectionAccessLevelRead
@ WICSectionAccessLevelReadWrite
WICBitmapCreateCacheOption
@ WICComponentEnumerateDefault
WICPixelFormatNumericRepresentation
@ WICPixelFormatNumericRepresentationUnspecified
@ WICPixelFormatNumericRepresentationIndexed
WICBitmapAlphaChannelOption
@ WICBitmapUsePremultipliedAlpha
@ WICMetadataCreationFailUnknown
#define WINCODEC_ERR_COMPONENTNOTFOUND
#define WINCODEC_ERR_WIN32ERROR
#define HRESULT_FROM_WIN32(x)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
int WINAPI GetDIBits(_In_ HDC hdc, _In_ HBITMAP hbm, _In_ UINT start, _In_ UINT cLines, _Out_opt_ LPVOID lpvBits, _At_((LPBITMAPINFOHEADER) lpbmi, _Inout_) LPBITMAPINFO lpbmi, _In_ UINT usage)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI GetIconInfo(_In_ HICON, _Out_ PICONINFO)