gdiplus: Added smoothing modes.
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 9d6457e..336fea1 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -368,7 +368,7 @@
 @ stub GdipGetRegionScansCount
 @ stub GdipGetRegionScansI
 @ stub GdipGetRenderingOrigin
-@ stub GdipGetSmoothingMode
+@ stdcall GdipGetSmoothingMode(ptr ptr)
 @ stub GdipGetSolidFillColor
 @ stub GdipGetStringFormatAlign
 @ stub GdipGetStringFormatDigitSubstitution
@@ -562,7 +562,7 @@
 @ stub GdipSetPixelOffsetMode
 @ stub GdipSetPropertyItem
 @ stub GdipSetRenderingOrigin
-@ stub GdipSetSmoothingMode
+@ stdcall GdipSetSmoothingMode(ptr long)
 @ stub GdipSetSolidFillColor
 @ stub GdipSetStringFormatAlign
 @ stub GdipSetStringFormatDigitSubstitution
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h
index 1a2d67c..57a8579 100644
--- a/dlls/gdiplus/gdiplus_private.h
+++ b/dlls/gdiplus/gdiplus_private.h
@@ -54,6 +54,7 @@
 struct GpGraphics{
     HDC hdc;
     HWND hwnd;
+    SmoothingMode smoothing;
 };
 
 struct GpBrush{
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index eb37995..f1f5f6c 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -542,6 +542,7 @@
 
     (*graphics)->hdc = hdc;
     (*graphics)->hwnd = NULL;
+    (*graphics)->smoothing = SmoothingModeDefault;
 
     return Ok;
 }
@@ -796,3 +797,24 @@
     return draw_pie(graphics, brush->gdibrush, GetStockObject(NULL_PEN), x, y,
         width, height, startAngle, sweepAngle);
 }
+
+/* FIXME: Smoothing mode is not used anywhere except the getter/setter. */
+GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics *graphics, SmoothingMode *mode)
+{
+    if(!graphics || !mode)
+        return InvalidParameter;
+
+    *mode = graphics->smoothing;
+
+    return Ok;
+}
+
+GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mode)
+{
+    if(!graphics)
+        return InvalidParameter;
+
+    graphics->smoothing = mode;
+
+    return Ok;
+}