Index: src/gpu/GrTestUtils.cpp |
diff --git a/src/gpu/GrTestUtils.cpp b/src/gpu/GrTestUtils.cpp |
index 36256c31736b5e8b159e5b7537f2f4b184a01f9d..163fb56389ef1f6c308adc794d97bf8c6e41a7a3 100644 |
--- a/src/gpu/GrTestUtils.cpp |
+++ b/src/gpu/GrTestUtils.cpp |
@@ -7,6 +7,7 @@ |
#include "GrTestUtils.h" |
#include "SkMatrix.h" |
+#include "SkPath.h" |
#include "SkRRect.h" |
#ifdef GR_TEST_UTILS |
@@ -120,6 +121,47 @@ const SkRRect& TestRRectSimple(SkRandom* random) { |
return gRRect[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gRRect)))]; |
} |
+const SkPath& TestPath(SkRandom* random) { |
+ static SkPath gPath[7]; |
+ static bool gOnce; |
+ if (!gOnce) { |
+ gOnce = true; |
+ // line |
+ gPath[0].moveTo(0.f, 0.f); |
+ gPath[0].lineTo(10.f, 10.f); |
+ // quad |
+ gPath[1].moveTo(0.f, 0.f); |
+ gPath[1].quadTo(10.f, 10.f, 20.f, 20.f); |
+ // conic |
+ gPath[2].moveTo(0.f, 0.f); |
+ gPath[2].conicTo(10.f, 10.f, 20.f, 20.f, 1.f); |
+ // cubic |
+ gPath[3].moveTo(0.f, 0.f); |
+ gPath[3].cubicTo(10.f, 10.f, 20.f, 20.f, 30.f, 30.f); |
+ // all three |
+ gPath[4].moveTo(0.f, 0.f); |
+ gPath[4].lineTo(10.f, 10.f); |
+ gPath[4].quadTo(10.f, 10.f, 20.f, 20.f); |
+ gPath[4].conicTo(10.f, 10.f, 20.f, 20.f, 1.f); |
+ gPath[4].cubicTo(10.f, 10.f, 20.f, 20.f, 30.f, 30.f); |
+ // convex |
+ gPath[5].moveTo(0.0f, 0.0f); |
+ gPath[5].lineTo(10.0f, 0.0f); |
+ gPath[5].lineTo(10.0f, 10.0f); |
+ gPath[5].lineTo(0.0f, 10.0f); |
+ gPath[5].close(); |
+ // concave |
+ gPath[6].moveTo(0.0f, 0.0f); |
+ gPath[6].lineTo(5.0f, 5.0f); |
+ gPath[6].lineTo(10.0f, 0.0f); |
+ gPath[6].lineTo(10.0f, 10.0f); |
+ gPath[6].lineTo(0.0f, 10.0f); |
+ gPath[6].close(); |
+ } |
+ |
+ return gPath[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gPath)))]; |
+} |
+ |
}; |
#endif |