windowscodecs: Add initial implementation of the GIF encoder.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru> Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b95fe88ff5
commit
7eb1f5d6ad
|
@ -5115,14 +5115,13 @@ static void test_supported_encoders(void)
|
|||
{
|
||||
LPCWSTR mime;
|
||||
const GUID *format;
|
||||
BOOL todo;
|
||||
} td[] =
|
||||
{
|
||||
{ bmp_mimetype, &ImageFormatBMP, FALSE },
|
||||
{ jpeg_mimetype, &ImageFormatJPEG, FALSE },
|
||||
{ gif_mimetype, &ImageFormatGIF, TRUE },
|
||||
{ tiff_mimetype, &ImageFormatTIFF, FALSE },
|
||||
{ png_mimetype, &ImageFormatPNG, FALSE }
|
||||
{ bmp_mimetype, &ImageFormatBMP },
|
||||
{ jpeg_mimetype, &ImageFormatJPEG },
|
||||
{ gif_mimetype, &ImageFormatGIF },
|
||||
{ tiff_mimetype, &ImageFormatTIFF },
|
||||
{ png_mimetype, &ImageFormatPNG }
|
||||
};
|
||||
GUID format, clsid;
|
||||
BOOL ret;
|
||||
|
@ -5148,7 +5147,6 @@ static void test_supported_encoders(void)
|
|||
ok(hr == S_OK, "CreateStreamOnHGlobal error %#x\n", hr);
|
||||
|
||||
status = GdipSaveImageToStream((GpImage *)bm, stream, &clsid, NULL);
|
||||
todo_wine_if (td[i].todo)
|
||||
ok(status == Ok, "GdipSaveImageToStream error %d\n", status);
|
||||
|
||||
IStream_Release(stream);
|
||||
|
|
|
@ -52,6 +52,7 @@ static const classinfo wic_classes[] = {
|
|||
{&CLSID_WICPngEncoder, PngEncoder_CreateInstance},
|
||||
{&CLSID_WICBmpEncoder, BmpEncoder_CreateInstance},
|
||||
{&CLSID_WICGifDecoder, GifDecoder_CreateInstance},
|
||||
{&CLSID_WICGifEncoder, GifEncoder_CreateInstance},
|
||||
{&CLSID_WICIcoDecoder, IcoDecoder_CreateInstance},
|
||||
{&CLSID_WICJpegDecoder, JpegDecoder_CreateInstance},
|
||||
{&CLSID_WICJpegEncoder, JpegEncoder_CreateInstance},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1434,6 +1434,16 @@ static struct regsvr_encoder const encoder_list[] = {
|
|||
".bmp,.dib,.rle",
|
||||
bmp_encode_formats
|
||||
},
|
||||
{ &CLSID_WICGifEncoder,
|
||||
"The Wine Project",
|
||||
"GIF Encoder",
|
||||
"1.0.0.0",
|
||||
&GUID_VendorMicrosoft,
|
||||
&GUID_ContainerFormatGif,
|
||||
"image/gif",
|
||||
".gif",
|
||||
gif_formats
|
||||
},
|
||||
{ &CLSID_WICJpegEncoder,
|
||||
"The Wine Project",
|
||||
"JPEG Encoder",
|
||||
|
|
|
@ -143,6 +143,7 @@ extern HRESULT PngEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN
|
|||
extern HRESULT BmpEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT DibDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT GifDecoder_CreateInstance(REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT GifEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT IcoDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT JpegDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||
extern HRESULT JpegEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||
|
|
|
@ -76,6 +76,13 @@ coclass WICBmpEncoder { interface IWICBitmapEncoder; }
|
|||
]
|
||||
coclass WICGifDecoder { interface IWICBitmapDecoder; }
|
||||
|
||||
[
|
||||
helpstring("WIC GIF Encoder"),
|
||||
threading(both),
|
||||
uuid(114f5598-0b22-40a0-86a1-c83ea495adbd)
|
||||
]
|
||||
coclass WICGifEncoder { interface IWICBitmapEncoder; }
|
||||
|
||||
[
|
||||
helpstring("WIC ICO Decoder"),
|
||||
threading(both),
|
||||
|
|
Loading…
Reference in New Issue