gdiplus: Add GdipSaveAddImage() stub.

Also update the GdipSaveAdd() stub to return NotImplemented instead of
silently failing.

Signed-off-by: Florian Will <florian.will@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Florian Will 2020-02-19 08:47:05 +01:00 committed by Alexandre Julliard
parent cc0d5c4fc9
commit 483aaf3308
3 changed files with 24 additions and 2 deletions

View File

@ -472,7 +472,7 @@
472 stdcall GdipRotateTextureTransform(ptr float long) 472 stdcall GdipRotateTextureTransform(ptr float long)
473 stdcall GdipRotateWorldTransform(ptr float long) 473 stdcall GdipRotateWorldTransform(ptr float long)
474 stdcall GdipSaveAdd(ptr ptr) 474 stdcall GdipSaveAdd(ptr ptr)
475 stub GdipSaveAddImage 475 stdcall GdipSaveAddImage(ptr ptr ptr)
476 stdcall GdipSaveGraphics(ptr ptr) 476 stdcall GdipSaveGraphics(ptr ptr)
477 stdcall GdipSaveImageToFile(ptr wstr ptr ptr) 477 stdcall GdipSaveImageToFile(ptr wstr ptr ptr)
478 stdcall GdipSaveImageToStream(ptr ptr ptr ptr) 478 stdcall GdipSaveImageToStream(ptr ptr ptr ptr)

View File

@ -4681,11 +4681,31 @@ GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage *image, IStream* stream,
/***************************************************************************** /*****************************************************************************
* GdipSaveAdd [GDIPLUS.@] * GdipSaveAdd [GDIPLUS.@]
*
* Like GdipSaveAddImage(), but encode the currently active frame of the given image into the file
* or stream that is currently being encoded.
*/ */
GpStatus WINGDIPAPI GdipSaveAdd(GpImage *image, GDIPCONST EncoderParameters *params) GpStatus WINGDIPAPI GdipSaveAdd(GpImage *image, GDIPCONST EncoderParameters *params)
{ {
FIXME("(%p,%p): stub\n", image, params); FIXME("(%p,%p): stub\n", image, params);
return Ok; return NotImplemented;
}
/*****************************************************************************
* GdipSaveAddImage [GDIPLUS.@]
*
* Encode the currently active frame of additional_image into the file or stream that is currently
* being encoded by the image given in the image parameter. The first frame of a multi-frame image
* must be encoded using the normal GdipSaveImageToStream() or GdipSaveImageToFile() functions,
* but with the "MultiFrame" encoding parameter set. The multi-frame encoding process must be
* finished after adding the last frame by calling GdipSaveAdd() with the "Flush" encoding parameter
* set.
*/
GpStatus WINGDIPAPI GdipSaveAddImage(GpImage *image, GpImage *additional_image,
GDIPCONST EncoderParameters *params)
{
FIXME("(%p,%p,%p): stub\n", image, additional_image, params);
return NotImplemented;
} }
/***************************************************************************** /*****************************************************************************

View File

@ -433,6 +433,8 @@ GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage*,PROPID);
GpStatus WINGDIPAPI GdipSaveImageToFile(GpImage*,GDIPCONST WCHAR*,GDIPCONST CLSID*,GDIPCONST EncoderParameters*); GpStatus WINGDIPAPI GdipSaveImageToFile(GpImage*,GDIPCONST WCHAR*,GDIPCONST CLSID*,GDIPCONST EncoderParameters*);
GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage*,IStream*, GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage*,IStream*,
GDIPCONST CLSID*,GDIPCONST EncoderParameters*); GDIPCONST CLSID*,GDIPCONST EncoderParameters*);
GpStatus WINGDIPAPI GdipSaveAdd(GpImage*,GDIPCONST EncoderParameters*);
GpStatus WINGDIPAPI GdipSaveAddImage(GpImage*,GpImage*,GDIPCONST EncoderParameters*);
GpStatus WINGDIPAPI GdipSetImagePalette(GpImage*,GDIPCONST ColorPalette*); GpStatus WINGDIPAPI GdipSetImagePalette(GpImage*,GDIPCONST ColorPalette*);
GpStatus WINGDIPAPI GdipSetPropertyItem(GpImage*,GDIPCONST PropertyItem*); GpStatus WINGDIPAPI GdipSetPropertyItem(GpImage*,GDIPCONST PropertyItem*);