Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "GrTestUtils.h" | 8 #include "GrTestUtils.h" |
| 9 #include "SkMatrix.h" | 9 #include "SkMatrix.h" |
| 10 | 10 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 22 gMatrices[3].postTranslate(SkIntToScalar(66), SkIntToScalar(-33)); | 22 gMatrices[3].postTranslate(SkIntToScalar(66), SkIntToScalar(-33)); |
| 23 gMatrices[3].postScale(SkIntToScalar(2), SK_ScalarHalf); | 23 gMatrices[3].postScale(SkIntToScalar(2), SK_ScalarHalf); |
| 24 gMatrices[4].setRotate(SkIntToScalar(215)); | 24 gMatrices[4].setRotate(SkIntToScalar(215)); |
| 25 gMatrices[4].set(SkMatrix::kMPersp0, 0.00013f); | 25 gMatrices[4].set(SkMatrix::kMPersp0, 0.00013f); |
| 26 gMatrices[4].set(SkMatrix::kMPersp1, -0.000039f); | 26 gMatrices[4].set(SkMatrix::kMPersp1, -0.000039f); |
| 27 gOnce = true; | 27 gOnce = true; |
| 28 } | 28 } |
| 29 return gMatrices[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT( gMatrices)))]; | 29 return gMatrices[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT( gMatrices)))]; |
| 30 } | 30 } |
| 31 | 31 |
| 32 const SkMatrix& TestMatrixPreservesRightAngles(SkRandom* random) { | |
| 33 static SkMatrix gMatrices[4]; | |
| 34 static bool gOnce; | |
| 35 if (!gOnce) { | |
| 36 // identity | |
| 37 gMatrices[0].reset(); | |
| 38 // translation | |
| 39 gMatrices[1].setTranslate(SkIntToScalar(-100), SkIntToScalar(100)); | |
| 40 // scale | |
| 41 gMatrices[2].setScale(SkIntToScalar(17), SkIntToScalar(17)); | |
| 42 // scale + translation | |
| 43 gMatrices[3].setScale(SkIntToScalar(-17), SkIntToScalar(-17)); | |
| 44 gMatrices[3].postTranslate(SkIntToScalar(66), SkIntToScalar(-33)); | |
| 45 // orthogonal basis vectors | |
| 46 gMatrices[4].reset(); | |
| 47 gMatrices[4].setScale(SkIntToScalar(-1), SkIntToScalar(-1)); | |
| 48 gMatrices[4].setRotate(47); | |
|
brucedawson
2015/04/30 20:19:06
These three lines of code reference gMatrices[4] b
| |
| 49 gOnce = true; | |
| 50 | |
| 51 for (size_t i = 0; i < SK_ARRAY_COUNT(gMatrices); i++) { | |
| 52 SkASSERT(gMatrices[i].preservesRightAngles()); | |
| 53 } | |
| 54 } | |
| 55 return gMatrices[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT( gMatrices)))]; | |
| 56 } | |
| 57 | |
| 32 const SkRect& TestRect(SkRandom* random) { | 58 const SkRect& TestRect(SkRandom* random) { |
| 33 static SkRect gRects[1]; | 59 static SkRect gRects[1]; |
| 34 static bool gOnce; | 60 static bool gOnce; |
| 35 if (!gOnce) { | 61 if (!gOnce) { |
| 36 gRects[0] = SkRect::MakeWH(1.f, 1.f); | 62 gRects[0] = SkRect::MakeWH(1.f, 1.f); |
| 37 gRects[1] = SkRect::MakeWH(1.0f, 256.0f); | 63 gRects[1] = SkRect::MakeWH(1.0f, 256.0f); |
| 38 gRects[2] = SkRect::MakeWH(256.0f, 1.0f); | 64 gRects[2] = SkRect::MakeWH(256.0f, 1.0f); |
| 39 gRects[4] = SkRect::MakeLargest(); | 65 gRects[4] = SkRect::MakeLargest(); |
| 40 gRects[5] = SkRect::MakeLTRB(-65535.0f, -65535.0f, 65535.0f, 65535.0f); | 66 gRects[5] = SkRect::MakeLTRB(-65535.0f, -65535.0f, 65535.0f, 65535.0f); |
| 41 gRects[6] = SkRect::MakeLTRB(10.0f, 10.0f, -10.0f, -10.0f); | 67 gRects[6] = SkRect::MakeLTRB(10.0f, 10.0f, -10.0f, -10.0f); |
| 42 gOnce = true; | 68 gOnce = true; |
| 43 } | 69 } |
| 44 return gRects[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gRe cts)))]; | 70 return gRects[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gRe cts)))]; |
| 45 } | 71 } |
| 46 }; | 72 }; |
| 47 | 73 |
| 48 #endif | 74 #endif |
| OLD | NEW |