65 *
ppv = &
This->IWICComponentFactory_iface;
67 else if (
IsEqualIID(&IID_IWICImagingFactory2, iid))
69 *
ppv = &
This->IWICImagingFactory2_iface;
86 TRACE(
"(%p) refcount=%lu\n", iface,
ref);
96 TRACE(
"(%p) refcount=%lu\n", iface,
ref);
113 debugstr_guid(pguidVendor), dwDesiredAccess, metadataOptions, ppIDecoder);
118 hr = IWICStream_InitializeFromFilename(
stream, wzFilename, dwDesiredAccess);
122 hr = IWICImagingFactory2_CreateDecoderFromStream(iface, (
IStream*)
stream,
123 pguidVendor, metadataOptions, ppIDecoder);
126 IWICStream_Release(
stream);
148 while (IEnumUnknown_Next(enumdecoders, 1, &unkdecoderinfo, &num_fetched) ==
S_OK)
153 res = IUnknown_QueryInterface(unkdecoderinfo, &IID_IWICBitmapDecoderInfo, (
void**)&decoderinfo);
158 res = IWICBitmapDecoderInfo_GetVendorGUID(decoderinfo, &
vendor);
162 res = IWICBitmapDecoderInfo_MatchesPattern(decoderinfo, pIStream, &
matches);
165 res = IWICBitmapDecoderInfo_CreateInstance(decoderinfo,
decoder);
171 res = IWICBitmapDecoder_Initialize(*
decoder, pIStream, metadataOptions);
174 res_wine = IWICBitmapDecoder_QueryInterface(*
decoder, &IID_IWICWineDecoder, (
void **)&wine_decoder);
177 IWICBitmapDecoder_Release(*
decoder);
182 res_wine = IWICWineDecoder_Initialize(wine_decoder, pIStream, metadataOptions);
185 IWICBitmapDecoder_Release(*
decoder);
194 if (wine_decoder) IWICWineDecoder_Release(wine_decoder);
195 if (decoderinfo) IWICBitmapDecoderInfo_Release(decoderinfo);
196 IUnknown_Release(unkdecoderinfo);
200 IEnumUnknown_Release(enumdecoders);
213 metadataOptions, ppIDecoder);
233 WARN(
"failed to load from a stream %#lx\n",
res);
236 if (IStream_Seek(pIStream,
seek, STREAM_SEEK_SET,
NULL) ==
S_OK)
238 if (IStream_Read(pIStream,
data, 4, &bytesread) ==
S_OK)
255 metadataOptions, ppIDecoder);
263 hr = IWICImagingFactory2_CreateDecoderFromStream(iface, (
IStream*)
stream,
264 pguidVendor, metadataOptions, ppIDecoder);
266 IWICStream_Release(
stream);
279 REFGUID guidContainerFormat,
const GUID *pguidVendor,
293 if (!guidContainerFormat || !ppIDecoder)
return E_INVALIDARG;
298 while (!preferred_decoder)
300 res = IEnumUnknown_Next(enumdecoders, 1, &unkdecoderinfo, &num_fetched);
303 res = IUnknown_QueryInterface(unkdecoderinfo, &IID_IWICBitmapDecoderInfo, (
void **)&decoderinfo);
308 res = IWICBitmapDecoderInfo_GetContainerFormat(decoderinfo, &container_guid);
313 res = IWICBitmapDecoderInfo_CreateInstance(decoderinfo, &new_decoder);
318 res = IWICBitmapDecoderInfo_GetVendorGUID(decoderinfo, &
vendor);
321 preferred_decoder = new_decoder;
332 if (new_decoder) IWICBitmapDecoder_Release(new_decoder);
336 IWICBitmapDecoderInfo_Release(decoderinfo);
339 IUnknown_Release(unkdecoderinfo);
342 IEnumUnknown_Release(enumdecoders);
344 if (preferred_decoder)
346 *ppIDecoder = preferred_decoder;
362 REFGUID guidContainerFormat,
const GUID *pguidVendor,
372 GUID actual_containerformat;
377 if (pguidVendor && !fixme++)
378 FIXME(
"ignoring vendor GUID\n");
385 res = IEnumUnknown_Next(enumencoders, 1, &unkencoderinfo, &num_fetched);
389 res = IUnknown_QueryInterface(unkencoderinfo, &IID_IWICBitmapEncoderInfo, (
void**)&encoderinfo);
393 res = IWICBitmapEncoderInfo_GetContainerFormat(encoderinfo, &actual_containerformat);
397 res = IWICBitmapEncoderInfo_CreateInstance(encoderinfo, &
encoder);
402 IWICBitmapEncoderInfo_Release(encoderinfo);
405 IUnknown_Release(unkencoderinfo);
411 IEnumUnknown_Release(enumencoders);
420 WARN(
"failed to create encoder\n");
429 TRACE(
"(%p,%p)\n", iface, ppIPalette);
442 TRACE(
"(%p,%p)\n", iface, ppIBitmapScaler);
450 TRACE(
"(%p,%p)\n", iface, ppIBitmapClipper);
457 TRACE(
"(%p,%p)\n", iface, ppIBitmapFlipRotator);
464 TRACE(
"(%p,%p)\n", iface, ppIWICStream);
471 TRACE(
"(%p,%p)\n", iface, ppIColorContext);
478 TRACE(
"(%p,%p)\n", iface, ppIColorTransform);
486 TRACE(
"(%p,%u,%u,%s,%u,%p)\n", iface, uiWidth, uiHeight,
508 if (!piBitmapSource || !ppIBitmap)
512 &IID_IWICBitmap, (
void **)&
result)))
518 hr = IWICBitmapSource_GetSize(piBitmapSource, &
width, &
height);
530 hr = IWICBitmapSource_GetPixelFormat(piBitmapSource, &
pixelformat);
537 hr = IWICComponentInfo_QueryInterface(
info, &IID_IWICPixelFormatInfo2, (
void**)&formatinfo);
541 hr = IWICPixelFormatInfo2_GetNumericRepresentation(formatinfo, &
format_type);
543 IWICPixelFormatInfo2_Release(formatinfo);
546 IWICComponentInfo_Release(
info);
573 hr = IWICBitmapLock_GetDataPointer(
lock, &buffersize, &
buffer);
576 hr = IWICBitmapSource_CopyPixels(piBitmapSource, &rc,
stride,
579 IWICBitmapLock_Release(
lock);
589 hr = IWICBitmapSource_CopyPalette(piBitmapSource,
palette);
602 hr = IWICBitmapSource_GetResolution(piBitmapSource, &dpix, &dpiy);
605 hr = IWICBitmap_SetResolution(
result, dpix, dpiy);
613 IWICBitmap_Release(
result);
623 TRACE(
"(%p,%p,%u,%p)\n", iface, piBitmapSource,
option, ppIBitmap);
634 TRACE(
"(%p,%p,%u,%u,%u,%u,%p)\n", iface, piBitmapSource,
x,
y,
width,
651 TRACE(
"(%p,%u,%u,%s,%u,%u,%p,%p\n", iface,
width,
height,
667 IWICBitmapLock_GetDataPointer(
lock, &buffersize, &
data);
670 IWICBitmapLock_Release(
lock);
674 IWICBitmap_Release(*
bitmap);
689 memset(&bmh, 0,
sizeof(bmh));
702 *
format = GUID_WICPixelFormat16bppBGR555;
708 *
format = GUID_WICPixelFormat16bppBGR565;
741 if (!num_palette_entries)
746 switch(bm.bmBitsPixel)
749 format = GUID_WICPixelFormat1bppIndexed;
752 format = GUID_WICPixelFormat4bppIndexed;
755 format = GUID_WICPixelFormat8bppIndexed;
762 format = GUID_WICPixelFormat24bppBGR;
768 format = GUID_WICPixelFormat32bppBGRA;
771 format = GUID_WICPixelFormat32bppPBGRA;
774 format = GUID_WICPixelFormat32bppBGR;
781 format = GUID_WICPixelFormat48bppRGB;
784 FIXME(
"unsupported %d bpp\n", bm.bmBitsPixel);
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)
912 if (*
ptr++ & 0xff000000)
934 IWICBitmapLock_Release(
lock);
935 IWICBitmap_Release(*
bitmap);
973 IWICBitmapLock_Release(
lock);
986 TRACE(
"(%p,%lu,%lu,%p)\n", iface, componentTypes,
options, ppIEnumUnknown);
994 FIXME(
"(%p,%p,%p): stub\n", iface, pIDecoder, ppIFastEncoder);
1002 FIXME(
"(%p,%p,%p): stub\n", iface, pIFrameDecoder, ppIFastEncoder);
1007 REFGUID guidMetadataFormat,
const GUID *pguidVendor,
1069 return IWICImagingFactory2_QueryInterface(&
This->IWICImagingFactory2_iface, iid,
ppv);
1075 return IWICImagingFactory2_AddRef(&
This->IWICImagingFactory2_iface);
1081 return IWICImagingFactory2_Release(&
This->IWICImagingFactory2_iface);
1088 return IWICImagingFactory2_CreateDecoderFromFilename(&
This->IWICImagingFactory2_iface,
filename,
vendor,
1096 return IWICImagingFactory2_CreateDecoderFromStream(&
This->IWICImagingFactory2_iface,
stream,
vendor,
1104 return IWICImagingFactory2_CreateDecoderFromFileHandle(&
This->IWICImagingFactory2_iface,
hFile,
vendor,
1112 return IWICImagingFactory2_CreateComponentInfo(&
This->IWICImagingFactory2_iface, component,
info);
1132 return IWICImagingFactory2_CreatePalette(&
This->IWICImagingFactory2_iface,
palette);
1138 return IWICImagingFactory2_CreateFormatConverter(&
This->IWICImagingFactory2_iface, converter);
1144 return IWICImagingFactory2_CreateBitmapScaler(&
This->IWICImagingFactory2_iface, scaler);
1150 return IWICImagingFactory2_CreateBitmapClipper(&
This->IWICImagingFactory2_iface, clipper);
1156 return IWICImagingFactory2_CreateBitmapFlipRotator(&
This->IWICImagingFactory2_iface, fliprotator);
1162 return IWICImagingFactory2_CreateStream(&
This->IWICImagingFactory2_iface,
stream);
1168 return IWICImagingFactory2_CreateColorContext(&
This->IWICImagingFactory2_iface,
context);
1174 return IWICImagingFactory2_CreateColorTransformer(&
This->IWICImagingFactory2_iface, transformer);
1188 return IWICImagingFactory2_CreateBitmapFromSource(&
This->IWICImagingFactory2_iface,
source,
option,
bitmap);
1210 return IWICImagingFactory2_CreateBitmapFromHBITMAP(&
This->IWICImagingFactory2_iface,
hbm, hpal,
option,
bitmap);
1216 return IWICImagingFactory2_CreateBitmapFromHICON(&
This->IWICImagingFactory2_iface, hicon,
bitmap);
1223 return IWICImagingFactory2_CreateComponentEnumerator(&
This->IWICImagingFactory2_iface, component_types,
1231 return IWICImagingFactory2_CreateFastMetadataEncoderFromDecoder(&
This->IWICImagingFactory2_iface,
decoder,
encoder);
1238 return IWICImagingFactory2_CreateFastMetadataEncoderFromFrameDecode(&
This->IWICImagingFactory2_iface, frame_decode,
encoder);
1245 return IWICImagingFactory2_CreateQueryWriter(&
This->IWICImagingFactory2_iface,
format,
vendor, writer);
1252 return IWICImagingFactory2_CreateQueryWriterFromReader(&
This->IWICImagingFactory2_iface,
reader,
vendor, writer);
1284 if (
FAILED(IUnknown_QueryInterface(
item, &IID_IWICMetadataReaderInfo, (
void **)&readerinfo)))
1289 hr = IWICMetadataReaderInfo_GetVendorGUID(readerinfo, &
guid);
1293 IWICMetadataReaderInfo_Release(readerinfo);
1305 hr = IWICMetadataReaderInfo_CreateInstance(readerinfo, &
reader);
1308 hr = IWICMetadataReader_QueryInterface(
reader, &IID_IWICPersistStream, (
void **)&persist_stream);
1311 hr = IWICPersistStream_LoadEx(persist_stream,
context->stream,
context->vendor,
1315 IWICPersistStream_Release(persist_stream);
1320 IWICMetadataReaderInfo_Release(readerinfo);
1325 IWICMetadataReader_Release(
reader);
1328 IWICMetadataReaderInfo_Release(readerinfo);
1343 if (
FAILED(IUnknown_QueryInterface(
item, &IID_IWICMetadataReaderInfo, (
void **)&readerinfo)))
1348 hr = IWICMetadataReaderInfo_GetVendorGUID(readerinfo, &
guid);
1352 IWICMetadataReaderInfo_Release(readerinfo);
1357 hr = IWICMetadataReaderInfo_GetMetadataFormat(readerinfo, &
guid);
1361 IWICMetadataReaderInfo_Release(readerinfo);
1366 hr = IWICMetadataReaderInfo_CreateInstance(readerinfo, &
reader);
1368 IWICMetadataReaderInfo_Release(readerinfo);
1376 hr = IWICMetadataReader_QueryInterface(
reader, &IID_IWICPersistStream, (
void **)&persist_stream);
1379 hr = IWICPersistStream_LoadEx(persist_stream,
context->stream,
context->vendor,
1383 IWICPersistStream_Release(persist_stream);
1393 IWICMetadataReader_Release(
reader);
1408 while (IEnumUnknown_Next(enumerator, 1, &
item,
NULL) ==
S_OK)
1413 IUnknown_Release(
item);
1421 IEnumUnknown_Release(enumerator);
1438 hr = IWICMetadataReader_QueryInterface(*
reader, &IID_IWICPersistStream, (
void **)&persist_stream);
1444 IWICPersistStream_Release(persist_stream);
1448 IWICMetadataReader_Release(*
reader);
1482 WARN(
"Failed to create a metadata reader instance, hr %#lx.\n",
hr);
1517 WARN(
"Failed to create a metadata reader instance, hr %#lx.\n",
hr);
1542 TRACE(
"%p,%p,%p\n", iface, block_reader, query_reader);
1544 if (!block_reader || !query_reader)
1553 TRACE(
"%p,%p,%p\n", iface, block_writer, query_writer);
1555 if (!block_writer || !query_writer)
1622 ret = IWICImagingFactory2_QueryInterface(&
This->IWICImagingFactory2_iface, iid,
ppv);
1623 IWICImagingFactory2_Release(&
This->IWICImagingFactory2_iface);
1637 TRACE(
"%u,%u,%s,%p,%u,%u,%#x,%p\n",
width,
height,
debugstr_guid(
format),
1656 FIXME(
"unsupported access %#x\n", wicaccess);
1681 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)
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
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
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 enum iterator_result create_metadata_reader_from_container_iterator(IUnknown *item, struct iterator_context *context)
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 create_unknown_metadata_reader(IStream *stream, DWORD options, IWICMetadataReader **reader)
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 enum iterator_result create_metadata_reader_iterator(IUnknown *item, struct iterator_context *context)
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)
enum iterator_result(* iterator_func)(IUnknown *item, struct iterator_context *context)
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 foreach_component(DWORD mask, iterator_func func, struct iterator_context *context)
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)
static unsigned __int64 next
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)