Lines Matching refs:SkMatrix
20 static bool nearly_equal(const SkMatrix& a, const SkMatrix& b) {
37 const SkMatrix& a,
38 const SkMatrix& b) {
75 static bool is_identity(const SkMatrix& m) {
76 SkMatrix identity;
81 static void assert9(skiatest::Reporter* reporter, const SkMatrix& m,
110 SkMatrix m;
122 buffer[SkMatrix::kMScaleX] = 1;
123 buffer[SkMatrix::kMScaleY] = 1;
124 buffer[SkMatrix::kMPersp2] = 1;
132 SkMatrix matrix;
136 matrix = SkMatrix::RectToRect(src, dst);
137 REPORTER_ASSERT(reporter, SkMatrix::kIdentity_Mask == matrix.getType());
141 matrix = SkMatrix::RectToRect(src, dst);
142 REPORTER_ASSERT(reporter, SkMatrix::kTranslate_Mask == matrix.getType());
146 matrix = SkMatrix::RectToRect(src, dst);
148 (SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask) == matrix.getType());
153 matrix = SkMatrix::RectToRect(src, dst);
154 REPORTER_ASSERT(reporter, SkMatrix::kScale_Mask == matrix.getType());
158 static void test_flatten(skiatest::Reporter* reporter, const SkMatrix& m) {
167 SkMatrix m2;
182 SkMatrix identity;
189 SkMatrix scale;
196 SkMatrix rot90Scale;
203 SkMatrix rotate;
212 SkMatrix translate;
219 SkMatrix perspX;
227 SkMatrix big;
235 SkMatrix givingNegativeNearlyZeros;
242 SkMatrix perspY;
251 SkMatrix baseMats[] = {scale, rot90Scale, rotate,
253 SkMatrix mats[2*SK_ARRAY_COUNT(baseMats)];
261 SkMatrix mat;
314 SkMatrix mat;
463 static bool check_matrix_recomposition(const SkMatrix& mat,
475 bool result = scalar_nearly_equal_relative(mat[SkMatrix::kMScaleX],
477 scalar_nearly_equal_relative(mat[SkMatrix::kMSkewX],
479 scalar_nearly_equal_relative(mat[SkMatrix::kMSkewY],
481 scalar_nearly_equal_relative(mat[SkMatrix::kMScaleY],
487 SkMatrix mat;
585 SkScalar perpdot = mat[SkMatrix::kMScaleX]*mat[SkMatrix::kMScaleY] -
586 mat[SkMatrix::kMSkewX]*mat[SkMatrix::kMSkewY];
597 mat[SkMatrix::kMPersp0] = 12.f;
598 mat[SkMatrix::kMPersp1] = 4.f;
599 mat[SkMatrix::kMPersp2] = 1872.f;
606 mat[SkMatrix::kMScaleX] = 0.f;
609 mat[SkMatrix::kMScaleY] = 0.f;
613 mat[SkMatrix::kMScaleX] = 1.f;
614 mat[SkMatrix::kMSkewX] = 2.f;
615 mat[SkMatrix::kMSkewY] = 4.f;
616 mat[SkMatrix::kMScaleY] = 8.f;
638 static bool naive_homogeneous_mapping(const SkMatrix& m, const SkPoint3& src,
651 SkMatrix mat;
674 SkMatrix mats[kMatrixCount];
771 static bool check_decompScale(const SkMatrix& original) {
773 SkMatrix remaining;
784 SkMatrix reconstituted = remaining;
806 SkMatrix scaleMat = SkMatrix::Scale(scale.width(), scale.height());
823 SkMatrix m;
843 SkMatrix mat, inverse, iden1, iden2;
913 SkMatrix m;
916 m.set(SkMatrix::kMScaleX, gRectStaysRectSamples[i].m00);
917 m.set(SkMatrix::kMSkewX, gRectStaysRectSamples[i].m01);
918 m.set(SkMatrix::kMSkewY, gRectStaysRectSamples[i].m10);
919 m.set(SkMatrix::kMScaleY, gRectStaysRectSamples[i].m11);
926 mat.set(SkMatrix::kMScaleX, 1)
927 .set(SkMatrix::kMSkewX, 2)
928 .set(SkMatrix::kMTransX, 3)
929 .set(SkMatrix::kMSkewY, 4)
930 .set(SkMatrix::kMScaleY, 5)
931 .set(SkMatrix::kMTransY, 6);
935 #define affineEqual(e) affine[SkMatrix::kA##e] == mat.get(SkMatrix::kM##e)
944 mat.set(SkMatrix::kMPersp1, SK_Scalar1 / 2);
947 SkMatrix mat2;
951 mat.set(SkMatrix::kMSkewX, -zero);
956 mat.set(SkMatrix::kMSkewX, SK_ScalarNaN);
957 mat2.set(SkMatrix::kMSkewX, SK_ScalarNaN);
975 SkMatrix a;
978 SkMatrix b;
981 SkMatrix expected;
984 REPORTER_ASSERT(r, expected == SkMatrix::Concat(a, b));
991 SkMatrix mat;
1016 SkMatrix m0 = SkMatrix::Scale(1e20f, 1e20f);
1017 SkMatrix m1; m1.setRotate(30); m1.postScale(1e20f, 1e20f);
1035 SkMatrix m = SkMatrix::MakeAll( 0.000152695269f, 0.00000000f, -6.53848401e-05f,
1043 REPORTER_ASSERT(r, SkMatrix{} == SkMatrix::I());