Vincent Povirk : gdiplus: Implement metafile playback for ScaleWorldTransform.
Alexandre Julliard
julliard at winehq.org
Wed Aug 3 18:09:18 CDT 2016
Module: wine
Branch: master
Commit: 136d9e8c184bb7cb7de7416e51d6276edfdddac5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=136d9e8c184bb7cb7de7416e51d6276edfdddac5
Author: Vincent Povirk <vincent at codeweavers.com>
Date: Wed Aug 3 16:19:36 2016 -0500
gdiplus: Implement metafile playback for ScaleWorldTransform.
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
More information about the wine-cvs
mailing list