/* [0] 9.9999997e-005 float [1] 9.0000003e-006 float [2] 7.0000001e-006 float [3] 1000000.0 float [4] 90639.000 float [5] 70000.000 float [6] 0.00000000 float [7] 0.00000000 float [8] 1.0000000 float */ static void testinvert2() { const float val[] = { 9.9999997e-005, 9.0000003e-006, 7.0000001e-006, 1000000.0, 90639.000, 70000.000 }; SkMatrix matrix; setmatrix6(&matrix, val); matrix.dump(); SkMatrix inverse; matrix.invert(&inverse); inverse.dump(); matrix.preConcat(inverse); matrix.dump(); // result is that matrix[3] is 49550 instead of 0 :( }
static void testinvert() { SkMatrix matrix; const float vals[] = { 0,9,.000001,10000,0,0 }; setmatrix6(&matrix, vals); const float vals2[] = { 0,100,71,9,0,7 }; SkMatrix tmp; setmatrix6(&tmp, vals2); matrix.preConcat(tmp); matrix.dump(); SkMatrix inverse; matrix.invert(&inverse); inverse.dump(); matrix.preConcat(inverse); matrix.dump(); // o2dContext.setTransform(0,9,.000001,10000,0,0); // o2dContext.transform(0,100,71,9,0,7); // o2dContext.setTransform(0,6,95,4,1,0); }