Andrew Eikum : gdi32: Update metafile world transform immediately in winnt mode.
julliard at winehq.org
Fri Aug 25 12:30:12 CDT 2017
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Fri Aug 25 08:10:44 2017 -0500
gdi32: Update metafile world transform immediately in winnt mode.
The Chrome browser print function implements their own handling for
EMR_MODIFYWORLDTRANSFORM which calls ModifyWorldTransform on the HDC
directly without ever calling PlayEnhMetaFileRecord. In Wine, this
transformation would get discarded when the callback function returned,
causing the page to be printed at the wrong scale.
Tests show that the transform is updated immediately during
PlayEnhMetaFileRecord. In addition, a modified transform persists
between callbacks until PlayEnhMetaFileRecord is called on a relevant
type of callback, at which point the transform is reverted before
playing back the record.
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
dlls/gdi32/enhmetafile.c | 41 ++++++-
dlls/gdi32/tests/metafile.c | 253 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 289 insertions(+), 5 deletions(-)
More information about the wine-cvs