gdiplus: Implemented GdipGetPenLineJoin, GdipGetPenMiterLimit.
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index e76b9e1..334b566 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -361,8 +361,8 @@
 @ stdcall GdipGetPenDashStyle(ptr ptr)
 @ stdcall GdipGetPenEndCap(ptr ptr)
 @ stub GdipGetPenFillType
-@ stub GdipGetPenLineJoin
-@ stub GdipGetPenMiterLimit
+@ stdcall GdipGetPenLineJoin(ptr ptr)
+@ stdcall GdipGetPenMiterLimit(ptr ptr)
 @ stub GdipGetPenMode
 @ stub GdipGetPenStartCap
 @ stub GdipGetPenTransform
diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c
index 29d99d5..709e185 100644
--- a/dlls/gdiplus/pen.c
+++ b/dlls/gdiplus/pen.c
@@ -207,6 +207,26 @@
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipGetPenLineJoin(GpPen *pen, GpLineJoin *lineJoin)
+{
+    if(!pen || !lineJoin)
+        return InvalidParameter;
+
+    *lineJoin = pen->join;
+
+    return Ok;
+}
+
+GpStatus WINGDIPAPI GdipGetPenMiterLimit(GpPen *pen, REAL *miterLimit)
+{
+    if(!pen || !miterLimit)
+        return InvalidParameter;
+
+    *miterLimit = pen->miterlimit;
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen *pen, GpBrush *brush)
 {
     if(!pen || !brush)
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index e78ff07..fb2b2c8 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -50,6 +50,8 @@
 GpStatus WINGDIPAPI GdipSetPenStartCap(GpPen*,GpLineCap);
 GpStatus WINGDIPAPI GdipSetPenWidth(GpPen*,REAL);
 GpStatus WINGDIPAPI GdipGetPenEndCap(GpPen*,GpLineCap*);
+GpStatus WINGDIPAPI GdipGetPenLineJoin(GpPen*,GpLineJoin*);
+GpStatus WINGDIPAPI GdipGetPenMiterLimit(GpPen*,REAL*);
 
 GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**);
 GpStatus WINGDIPAPI GdipCreateFromHDC2(HDC,HANDLE,GpGraphics**);