gdiplus: Implement GdipImageGetFrameCount.

oldstable
Dmitry Timoshkov 2012-05-16 23:33:55 +09:00 committed by Alexandre Julliard
parent 007d642e53
commit eeee536ad6
2 changed files with 10 additions and 9 deletions

View File

@ -2456,23 +2456,24 @@ static struct image_format_dimension image_format_dimensions[] =
{NULL}
};
/* FIXME: Need to handle multi-framed images */
GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image,
GDIPCONST GUID* dimensionID, UINT* count)
{
static int calls;
TRACE("(%p,%s,%p)\n", image, debugstr_guid(dimensionID), count);
if(!image || !count)
return InvalidParameter;
if(!(calls++))
FIXME("returning frame count of 1\n");
if (!dimensionID ||
IsEqualGUID(dimensionID, &image->format) ||
IsEqualGUID(dimensionID, &FrameDimensionPage) ||
IsEqualGUID(dimensionID, &FrameDimensionTime))
{
*count = image->frame_count;
return Ok;
}
*count = 1;
return Ok;
return InvalidParameter;
}
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage *image,

View File

@ -2298,7 +2298,7 @@ static void test_multiframegif(void)
count = 12345;
stat = GdipImageGetFrameCount((GpImage*)bmp, &dimension, &count);
expect(Ok, stat);
todo_wine expect(2, count);
expect(2, count);
/* SelectActiveFrame overwrites our current data */
stat = GdipImageSelectActiveFrame((GpImage*)bmp, &dimension, 1);