Commit 363d24d4 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawPath records.

parent 9f45ef72
...@@ -2547,6 +2547,24 @@ GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile *metafile, ...@@ -2547,6 +2547,24 @@ GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile *metafile,
GdipDeleteBrush((GpBrush *)solidfill); GdipDeleteBrush((GpBrush *)solidfill);
return stat; return stat;
} }
case EmfPlusRecordTypeDrawPath:
{
EmfPlusDrawPath *draw = (EmfPlusDrawPath *)header;
BYTE path = flags & 0xff;
if (dataSize != sizeof(draw->PenId))
return InvalidParameter;
if (path >= EmfPlusObjectTableSize || draw->PenId >= EmfPlusObjectTableSize)
return InvalidParameter;
if (real_metafile->objtable[path].type != ObjectTypePath ||
real_metafile->objtable[draw->PenId].type != ObjectTypePen)
return InvalidParameter;
return GdipDrawPath(real_metafile->playback_graphics, real_metafile->objtable[draw->PenId].u.pen,
real_metafile->objtable[path].u.path);
}
default: default:
FIXME("Not implemented for record type %x\n", recordType); FIXME("Not implemented for record type %x\n", recordType);
return NotImplemented; return NotImplemented;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment