@ stdcall GdipSetPathMarker(ptr)
@ stdcall GdipSetPenBrushFill(ptr ptr)
@ stdcall GdipSetPenColor(ptr long)
-@ stub GdipSetPenCompoundArray
+@ stdcall GdipSetPenCompoundArray(ptr ptr long)
@ stdcall GdipSetPenCustomEndCap(ptr ptr)
@ stdcall GdipSetPenCustomStartCap(ptr ptr)
@ stdcall GdipSetPenDashArray(ptr ptr long)
return GdipSetSolidFillColor(((GpSolidFill*)pen->brush), argb);
}
+GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen *pen, GDIPCONST REAL *dash,
+ INT count)
+{
+ FIXME("(%p, %p, %i): stub", pen, dash, count);
+
+ if (!pen || !dash || count < 2 || count%2 == 1)
+ return InvalidParameter;
+
+ return NotImplemented;
+}
+
GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen *pen, GpCustomLineCap* customCap)
{
GpCustomLineCap * cap;
GdipDeleteBrush((GpBrush*)line);
}
+static void test_compoundarray(void)
+{
+ GpStatus status;
+ GpPen *pen;
+ static const REAL testvalues[] = {0.2, 0.4, 0.6, 0.8};
+
+ status = GdipSetPenCompoundArray(NULL, testvalues, 4);
+ expect(InvalidParameter, status);
+
+ status = GdipCreatePen1((ARGB)0xffff00ff, 10.0f, UnitPixel, &pen);
+ expect(Ok, status);
+
+ status = GdipSetPenCompoundArray(pen, NULL, 4);
+ expect(InvalidParameter, status);
+ status = GdipSetPenCompoundArray(pen, testvalues, 3);
+ expect(InvalidParameter, status);
+ status = GdipSetPenCompoundArray(pen, testvalues, 0);
+ expect(InvalidParameter, status);
+ status = GdipSetPenCompoundArray(pen, testvalues, -2);
+ expect(InvalidParameter, status);
+
+ status = GdipSetPenCompoundArray(pen, testvalues, 4);
+ todo_wine expect(Ok, status);
+
+ GdipDeletePen(pen);
+}
+
START_TEST(pen)
{
struct GdiplusStartupInput gdiplusStartupInput;
test_dasharray();
test_customcap();
test_penfilltype();
+ test_compoundarray();
GdiplusShutdown(gdiplusToken);
}
GpStatus WINGDIPAPI GdipGetPenMode(GpPen*,GpPenAlignment*);
GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen*,GpBrush*);
GpStatus WINGDIPAPI GdipSetPenColor(GpPen*,ARGB);
+GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen*,GDIPCONST REAL*,INT);
GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen*,GpCustomLineCap*);
GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen*,GpCustomLineCap*);
GpStatus WINGDIPAPI GdipSetPenDashArray(GpPen*,GDIPCONST REAL*,INT);