diff --git a/reactos/dll/win32/gdiplus/brush.c b/reactos/dll/win32/gdiplus/brush.c
index 45de0344237..7f324f33bd3 100644
--- a/reactos/dll/win32/gdiplus/brush.c
+++ b/reactos/dll/win32/gdiplus/brush.c
@@ -653,3 +653,47 @@ GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture *texture,
return Ok;
}
+
+GpStatus WINGDIPAPI GdipSetLineColors(GpLineGradient *brush, ARGB color1,
+ ARGB color2)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetLineLinearBlend(GpLineGradient *brush, REAL focus,
+ REAL scale)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetLinePresetBlend(GpLineGradient *brush,
+ GDIPCONST ARGB *blend, GDIPCONST REAL* positions, INT count)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetLineTransform(GpLineGradient *brush,
+ GDIPCONST GpMatrix *matrix)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
diff --git a/reactos/dll/win32/gdiplus/customlinecap.c b/reactos/dll/win32/gdiplus/customlinecap.c
index e161e1bb51d..54005a8157b 100644
--- a/reactos/dll/win32/gdiplus/customlinecap.c
+++ b/reactos/dll/win32/gdiplus/customlinecap.c
@@ -129,3 +129,58 @@ GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeCaps(GpCustomLineCap* custom,
return NotImplemented;
}
+
+GpStatus WINGDIPAPI GdipSetCustomLineCapBaseCap(GpCustomLineCap* custom,
+ GpLineCap base)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipGetCustomLineCapBaseInset(GpCustomLineCap* custom,
+ REAL* inset)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetCustomLineCapBaseInset(GpCustomLineCap* custom,
+ REAL inset)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeJoin(GpCustomLineCap* custom,
+ GpLineJoin join)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetCustomLineCapWidthScale(GpCustomLineCap* custom,
+ REAL width)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
diff --git a/reactos/dll/win32/gdiplus/gdiplus.rbuild b/reactos/dll/win32/gdiplus/gdiplus.rbuild
index 518cb70a3c8..dd0b0ca94e6 100644
--- a/reactos/dll/win32/gdiplus/gdiplus.rbuild
+++ b/reactos/dll/win32/gdiplus/gdiplus.rbuild
@@ -29,5 +29,6 @@
pathiterator.c
pen.c
stringformat.c
+ region.c
gdiplus.spec
\ No newline at end of file
diff --git a/reactos/dll/win32/gdiplus/gdiplus.spec b/reactos/dll/win32/gdiplus/gdiplus.spec
index 4aac0df3f85..337ffb2da9a 100644
--- a/reactos/dll/win32/gdiplus/gdiplus.spec
+++ b/reactos/dll/win32/gdiplus/gdiplus.spec
@@ -75,7 +75,7 @@
@ stdcall GdipCreateBitmapFromFileICM(wstr ptr)
@ stub GdipCreateBitmapFromGdiDib
@ stdcall GdipCreateBitmapFromGraphics(long long ptr ptr)
-@ stub GdipCreateBitmapFromHBITMAP
+@ stdcall GdipCreateBitmapFromHBITMAP(ptr ptr ptr)
@ stub GdipCreateBitmapFromHICON
@ stub GdipCreateBitmapFromResource
@ stdcall GdipCreateBitmapFromScan0(long long long long ptr ptr)
@@ -250,7 +250,7 @@
@ stdcall GdipGetCompositingMode(ptr ptr)
@ stdcall GdipGetCompositingQuality(ptr ptr)
@ stub GdipGetCustomLineCapBaseCap
-@ stub GdipGetCustomLineCapBaseInset
+@ stdcall GdipGetCustomLineCapBaseInset(ptr ptr)
@ stub GdipGetCustomLineCapStrokeCaps
@ stub GdipGetCustomLineCapStrokeJoin
@ stub GdipGetCustomLineCapType
@@ -510,41 +510,41 @@
@ stub GdipSetClipHrgn
@ stub GdipSetClipPath
@ stub GdipSetClipRect
-@ stub GdipSetClipRectI
-@ stub GdipSetClipRegion
+@ stdcall GdipSetClipRectI(ptr long long long long long)
+@ stdcall GdipSetClipRegion(ptr ptr long)
@ stdcall GdipSetCompositingMode(ptr long)
@ stdcall GdipSetCompositingQuality(ptr long)
-@ stub GdipSetCustomLineCapBaseCap
-@ stub GdipSetCustomLineCapBaseInset
+@ stdcall GdipSetCustomLineCapBaseCap(ptr long)
+@ stdcall GdipSetCustomLineCapBaseInset(ptr long)
@ stdcall GdipSetCustomLineCapStrokeCaps(ptr long long)
-@ stub GdipSetCustomLineCapStrokeJoin
-@ stub GdipSetCustomLineCapWidthScale
-@ stub GdipSetEffectParameters
-@ stub GdipSetEmpty
-@ stub GdipSetImageAttributesCachedBackground
+@ stdcall GdipSetCustomLineCapStrokeJoin(ptr long)
+@ stdcall GdipSetCustomLineCapWidthScale(ptr long)
+@ stdcall GdipSetEffectParameters(ptr ptr long)
+@ stdcall GdipSetEmpty(ptr)
+@ stdcall GdipSetImageAttributesCachedBackground(ptr long)
@ stdcall GdipSetImageAttributesColorKeys(ptr long long long long)
@ stdcall GdipSetImageAttributesColorMatrix(ptr long long ptr ptr long)
-@ stub GdipSetImageAttributesGamma
-@ stub GdipSetImageAttributesNoOp
-@ stub GdipSetImageAttributesOutputChannel
-@ stub GdipSetImageAttributesOutputChannelColorProfile
-@ stub GdipSetImageAttributesRemapTable
-@ stub GdipSetImageAttributesThreshold
-@ stub GdipSetImageAttributesToIdentity
+@ stdcall GdipSetImageAttributesGamma(ptr long long long)
+@ stdcall GdipSetImageAttributesNoOp(ptr long long)
+@ stdcall GdipSetImageAttributesOutputChannel(ptr long long long)
+@ stdcall GdipSetImageAttributesOutputChannelColorProfile(ptr long long ptr)
+@ stdcall GdipSetImageAttributesRemapTable(ptr long long long ptr)
+@ stdcall GdipSetImageAttributesThreshold(ptr long long long)
+@ stdcall GdipSetImageAttributesToIdentity(ptr long)
@ stdcall GdipSetImageAttributesWrapMode(ptr long long long)
@ stdcall GdipSetImagePalette(ptr ptr)
-@ stub GdipSetInfinite
+@ stdcall GdipSetInfinite(ptr)
@ stdcall GdipSetInterpolationMode(ptr long)
@ stdcall GdipSetLineBlend(ptr ptr ptr long)
-@ stub GdipSetLineColors
+@ stdcall GdipSetLineColors(ptr long long)
@ stdcall GdipSetLineGammaCorrection(ptr long)
-@ stub GdipSetLineLinearBlend
-@ stub GdipSetLinePresetBlend
+@ stdcall GdipSetLineLinearBlend(ptr long long)
+@ stdcall GdipSetLinePresetBlend(ptr ptr ptr long)
@ stdcall GdipSetLineSigmaBlend(ptr long long)
-@ stub GdipSetLineTransform
+@ stdcall GdipSetLineTransform(ptr ptr)
@ stdcall GdipSetLineWrapMode(ptr long)
@ stdcall GdipSetMatrixElements(ptr long long long long long long)
-@ stub GdipSetMetafileDownLevelRasterizationLimit
+@ stdcall GdipSetMetafileDownLevelRasterizationLimit(ptr long)
@ stdcall GdipSetPageScale(ptr long)
@ stdcall GdipSetPageUnit(ptr long)
@ stdcall GdipSetPathFillMode(ptr long)
diff --git a/reactos/dll/win32/gdiplus/graphics.c b/reactos/dll/win32/gdiplus/graphics.c
index 4609a31323d..47bb03568ad 100644
--- a/reactos/dll/win32/gdiplus/graphics.c
+++ b/reactos/dll/win32/gdiplus/graphics.c
@@ -2088,3 +2088,37 @@ GpStatus WINGDIPAPI GdipTranslateWorldTransform(GpGraphics *graphics, REAL dx,
return GdipTranslateMatrix(graphics->worldtrans, dx, dy, order);
}
+
+GpStatus WINGDIPAPI GdipSetClipRectI(GpGraphics *graphics, INT x, INT y,
+ INT width, INT height,
+ CombineMode combineMode)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetClipRegion(GpGraphics *graphics, GpRegion *region,
+ CombineMode combineMode)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetMetafileDownLevelRasterizationLimit(GpGraphics *graphics,
+ UINT limitDpi)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
diff --git a/reactos/dll/win32/gdiplus/graphicspath.c b/reactos/dll/win32/gdiplus/graphicspath.c
index 69a95263063..adeaa891872 100644
--- a/reactos/dll/win32/gdiplus/graphicspath.c
+++ b/reactos/dll/win32/gdiplus/graphicspath.c
@@ -179,7 +179,7 @@ GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath *path, REAL x, REAL y, REAL width,
memset(&path->pathdata.Types[old_count + 1], PathPointTypeBezier,
MAX_ARC_PTS - 1);
- /* An ellipse is an instrinsic figure (always its own subpath). */
+ /* An ellipse is an intrinsic figure (always is its own subpath). */
path->pathdata.Types[old_count] = PathPointTypeStart;
path->pathdata.Types[old_count + MAX_ARC_PTS - 1] |= PathPointTypeCloseSubpath;
path->newfigure = TRUE;
diff --git a/reactos/dll/win32/gdiplus/image.c b/reactos/dll/win32/gdiplus/image.c
index b1ec2c7bcc8..3de6ff01e1d 100644
--- a/reactos/dll/win32/gdiplus/image.c
+++ b/reactos/dll/win32/gdiplus/image.c
@@ -1096,3 +1096,14 @@ GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP hbm, HPALETTE hpal, GpBi
return retval;
}
+
+GpStatus WINGDIPAPI GdipSetEffectParameters(CGpEffect *effect,
+ const VOID *params, const UINT size)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
diff --git a/reactos/dll/win32/gdiplus/imageattributes.c b/reactos/dll/win32/gdiplus/imageattributes.c
index ac6caa5d41f..858ea15e8cd 100644
--- a/reactos/dll/win32/gdiplus/imageattributes.c
+++ b/reactos/dll/win32/gdiplus/imageattributes.c
@@ -90,3 +90,93 @@ GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes *imageAttr,
return NotImplemented;
}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground(GpImageAttributes *imageAttr,
+ BOOL enableFlag)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesGamma(GpImageAttributes *imageAttr,
+ ColorAdjustType type, BOOL enableFlag, REAL gamma)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesNoOp(GpImageAttributes *imageAttr,
+ ColorAdjustType type, BOOL enableFlag)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel(GpImageAttributes *imageAttr,
+ ColorAdjustType type, BOOL enableFlag, ColorChannelFlags channelFlags)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile(GpImageAttributes *imageAttr,
+ ColorAdjustType type, BOOL enableFlag,
+ GDIPCONST WCHAR *colorProfileFilename)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable(GpImageAttributes *imageAttr,
+ ColorAdjustType type, BOOL enableFlag, UINT mapSize,
+ GDIPCONST ColorMap *map)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesThreshold(GpImageAttributes *imageAttr,
+ ColorAdjustType type, BOOL enableFlag, REAL threshold)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity(GpImageAttributes *imageAttr,
+ ColorAdjustType type)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
diff --git a/reactos/dll/win32/gdiplus/region.c b/reactos/dll/win32/gdiplus/region.c
new file mode 100644
index 00000000000..92da5809a8d
--- /dev/null
+++ b/reactos/dll/win32/gdiplus/region.c
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2008 Google (Lei Zhang)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include
+
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+
+#include "objbase.h"
+
+#include "gdiplus.h"
+#include "gdiplus_private.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(gdiplus);
+
+GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *region)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *region)
+{
+ static int calls;
+
+ if(!(calls++))
+ FIXME("not implemented\n");
+
+ return NotImplemented;
+}