Module: wine Branch: master Commit: 136d9e8c184bb7cb7de7416e51d6276edfdddac5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=136d9e8c184bb7cb7de7416e51...
Author: Vincent Povirk vincent@codeweavers.com Date: Wed Aug 3 16:19:36 2016 -0500
gdiplus: Implement metafile playback for ScaleWorldTransform.
Signed-off-by: Vincent Povirk vincent@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/gdiplus/metafile.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c index 0f03041..09ecd39 100644 --- a/dlls/gdiplus/metafile.c +++ b/dlls/gdiplus/metafile.c @@ -923,6 +923,18 @@ GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile *metafile,
return METAFILE_PlaybackUpdateWorldTransform(real_metafile); } + case EmfPlusRecordTypeScaleWorldTransform: + { + EmfPlusScaleWorldTransform *record = (EmfPlusScaleWorldTransform*)header; + MatrixOrder order = (flags & 0x4) ? MatrixOrderAppend : MatrixOrderPrepend; + + if (dataSize + sizeof(EmfPlusRecordHeader) < sizeof(EmfPlusScaleWorldTransform)) + return InvalidParameter; + + GdipScaleMatrix(real_metafile->world_transform, record->Sx, record->Sy, order); + + return METAFILE_PlaybackUpdateWorldTransform(real_metafile); + } default: FIXME("Not implemented for record type %x\n", recordType); return NotImplemented;