Piotr Caban : gdiplus: Support GdipSetSmoothingMode in metafiles.
Module: wine Branch: master Commit: 910975a944ca90701381e4acd5eb02b1b345be13 URL: http://source.winehq.org/git/wine.git/?a=commit;h=910975a944ca90701381e4acd5... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Tue Jul 11 17:51:03 2017 +0200 gdiplus: Support GdipSetSmoothingMode in metafiles. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Vincent Povirk <vincent(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdiplus/graphics.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index f20178a..277bbd2 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -5972,6 +5972,20 @@ GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mod if(graphics->busy) return ObjectBusy; + if(graphics->smoothing == mode) + return Ok; + + if(graphics->image && graphics->image->type == ImageTypeMetafile) { + GpStatus stat; + BOOL antialias = (mode != SmoothingModeDefault && + mode != SmoothingModeNone && mode != SmoothingModeHighSpeed); + + stat = METAFILE_AddSimpleProperty((GpMetafile*)graphics->image, + EmfPlusRecordTypeSetAntiAliasMode, (mode << 1) + antialias); + if(stat != Ok) + return stat; + } + graphics->smoothing = mode; return Ok;
participants (1)
-
Alexandre Julliard