[3/6] gdiplus/tests: added GdipAddPathEllipse test
Evan Stade
estade at gmail.com
Wed Jul 25 21:15:28 CDT 2007
Hi,
dlls/gdiplus/tests/graphicspath.c | 72 +++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 0 deletions(-)
--
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/tests/graphicspath.c b/dlls/gdiplus/tests/graphicspath.c
index 729971e..3078980 100644
--- a/dlls/gdiplus/tests/graphicspath.c
+++ b/dlls/gdiplus/tests/graphicspath.c
@@ -433,6 +433,77 @@ static void test_pathpath(void)
GdipDeletePath(path2);
}
+static path_test_t ellipse_path[] = {
+ {30.00, 125.25, PathPointTypeStart, 0, 0}, /*0*/
+ {30.00, 139.20, PathPointTypeBezier, 0, 0}, /*1*/
+ {25.52, 150.50, PathPointTypeBezier, 0, 0}, /*2*/
+ {20.00, 150.50, PathPointTypeBezier, 0, 0}, /*3*/
+ {14.48, 150.50, PathPointTypeBezier, 0, 0}, /*4*/
+ {10.00, 139.20, PathPointTypeBezier, 0, 0}, /*5*/
+ {10.00, 125.25, PathPointTypeBezier, 0, 0}, /*6*/
+ {10.00, 111.30, PathPointTypeBezier, 0, 0}, /*7*/
+ {14.48, 100.00, PathPointTypeBezier, 0, 0}, /*8*/
+ {20.00, 100.00, PathPointTypeBezier, 0, 0}, /*9*/
+ {25.52, 100.00, PathPointTypeBezier, 0, 0}, /*10*/
+ {30.00, 111.30, PathPointTypeBezier, 0, 0}, /*11*/
+ {30.00, 125.25, PathPointTypeBezier | PathPointTypeCloseSubpath, 0, 0}, /*12*/
+ {7.00, 11.00, PathPointTypeStart, 0, 0}, /*13*/
+ {13.00, 17.00, PathPointTypeLine, 0, 1}, /*14*/
+ {5.00, 195.00, PathPointTypeStart, 0, 1}, /*15*/
+ {5.00, 192.24, PathPointTypeBezier, 0, 1}, /*16*/
+ {6.12, 190.00, PathPointTypeBezier, 0, 1}, /*17*/
+ {7.50, 190.00, PathPointTypeBezier, 0, 1}, /*18*/
+ {8.88, 190.00, PathPointTypeBezier, 0, 1}, /*19*/
+ {10.00, 192.24, PathPointTypeBezier, 0, 1}, /*20*/
+ {10.00, 195.00, PathPointTypeBezier, 0, 1}, /*21*/
+ {10.00, 197.76, PathPointTypeBezier, 0, 1}, /*22*/
+ {8.88, 200.00, PathPointTypeBezier, 0, 1}, /*23*/
+ {7.50, 200.00, PathPointTypeBezier, 0, 1}, /*24*/
+ {6.12, 200.00, PathPointTypeBezier, 0, 1}, /*25*/
+ {5.00, 197.76, PathPointTypeBezier, 0, 1}, /*26*/
+ {5.00, 195.00, PathPointTypeBezier | PathPointTypeCloseSubpath, 0, 1}, /*27*/
+ {10.00, 300.50, PathPointTypeStart, 0, 0}, /*28*/
+ {10.00, 300.78, PathPointTypeBezier, 0, 0}, /*29*/
+ {10.00, 301.00, PathPointTypeBezier, 0, 0}, /*30*/
+ {10.00, 301.00, PathPointTypeBezier, 0, 0}, /*31*/
+ {10.00, 301.00, PathPointTypeBezier, 0, 0}, /*32*/
+ {10.00, 300.78, PathPointTypeBezier, 0, 0}, /*33*/
+ {10.00, 300.50, PathPointTypeBezier, 0, 0}, /*34*/
+ {10.00, 300.22, PathPointTypeBezier, 0, 0}, /*35*/
+ {10.00, 300.00, PathPointTypeBezier, 0, 0}, /*36*/
+ {10.00, 300.00, PathPointTypeBezier, 0, 0}, /*37*/
+ {10.00, 300.00, PathPointTypeBezier, 0, 0}, /*38*/
+ {10.00, 300.22, PathPointTypeBezier, 0, 0}, /*39*/
+ {10.00, 300.50, PathPointTypeBezier | PathPointTypeCloseSubpath, 0, 0} /*40*/
+ };
+
+static void test_ellipse(void)
+{
+ GpStatus status;
+ GpPath *path;
+ GpPointF points[2];
+
+ points[0].X = 7.0;
+ points[0].Y = 11.0;
+ points[1].X = 13.0;
+ points[1].Y = 17.0;
+
+ GdipCreatePath(FillModeAlternate, &path);
+ status = GdipAddPathEllipse(path, 10.0, 100.0, 20.0, 50.5);
+ expect(Ok, status);
+ GdipAddPathLine2(path, points, 2);
+ status = GdipAddPathEllipse(path, 10.0, 200.0, -5.0, -10.0);
+ todo_wine
+ expect(Ok, status);
+ GdipClosePathFigure(path);
+ status = GdipAddPathEllipse(path, 10.0, 300.0, 0.0, 1.0);
+ expect(Ok, status);
+
+ ok_path(path, ellipse_path, sizeof(ellipse_path)/sizeof(path_test_t), TRUE);
+
+ GdipDeletePath(path);
+}
+
START_TEST(graphicspath)
{
struct GdiplusStartupInput gdiplusStartupInput;
@@ -450,6 +521,7 @@ START_TEST(graphicspath)
test_arc();
test_worldbounds();
test_pathpath();
+ test_ellipse();
GdiplusShutdown(gdiplusToken);
}
--
1.4.1
More information about the wine-patches
mailing list