Chromium Code Reviews| Index: gm/convexpaths.cpp |
| diff --git a/gm/convexpaths.cpp b/gm/convexpaths.cpp |
| index 2c4753d95a48ff78cf7b6cc9e47058d1c31f8440..1900bd6149540d0fcb3d94707dcb7ef309381873 100644 |
| --- a/gm/convexpaths.cpp |
| +++ b/gm/convexpaths.cpp |
| @@ -120,12 +120,30 @@ protected: |
| 20 * SK_Scalar1, 40 * SK_Scalar1, |
| SkPath::kCCW_Direction); |
| + // large number of points |
| + enum { |
| + kLength = 100, |
| + kPtsPerSide = (1 << 12), |
| + }; |
| + fPaths.push_back().moveTo(0, 0); |
|
robertphillips
2013/05/13 19:18:05
i = 1?
bsalomon
2013/05/13 19:26:06
Done
|
| + for (int i = 0; i < kPtsPerSide; ++i) { |
| + fPaths.back().lineTo(kLength * SkIntToScalar(i) / kPtsPerSide, 0); |
| + } |
| + for (int i = 0; i < kPtsPerSide; ++i) { |
| + fPaths.back().lineTo(kLength, kLength * SkIntToScalar(i) / kPtsPerSide); |
| + } |
| + for (int i = kPtsPerSide; i > 0; --i) { |
| + fPaths.back().lineTo(kLength * SkIntToScalar(i) / kPtsPerSide, kLength); |
| + } |
| + for (int i = kPtsPerSide; i > 0; --i) { |
| + fPaths.back().lineTo(0, kLength * SkIntToScalar(i) / kPtsPerSide); |
| + } |
| + |
| // shallow diagonals |
| fPaths.push_back().lineTo(100 * SK_Scalar1, SK_Scalar1); |
| fPaths.back().lineTo(98 * SK_Scalar1, 100 * SK_Scalar1); |
| fPaths.back().lineTo(3 * SK_Scalar1, 96 * SK_Scalar1); |
| - |
| //It turns out arcTos are not automatically marked as convex and they |
| //may in fact be ever so slightly concave. |
| //fPaths.push_back().arcTo(SkRect::MakeXYWH(0, 0, |