Piotr Caban : gdiplus: Support GdipSetSmoothingMode in metafiles.

Alexandre Julliard julliard at winehq.org
Wed Jul 12 15:37:27 CDT 2017


Module: wine
Branch: master
Commit: 910975a944ca90701381e4acd5eb02b1b345be13
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=910975a944ca90701381e4acd5eb02b1b345be13

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Jul 11 17:51:03 2017 +0200

gdiplus: Support GdipSetSmoothingMode in metafiles.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;




More information about the wine-cvs mailing list