aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2010-02-24 22:08:58 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2010-02-24 22:08:58 +0000
commitb5d0f7bd47c181107a646e09bb0182e387ba0857 (patch)
treea31802921e8e4fcb2681105d6b5a388e7c692b64 /samplecode
parent745bfbd74d1bcd62b9c597b62907875bca5cf84e (diff)
add unittests for map()
git-svn-id: http://skia.googlecode.com/svn/trunk@512 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r--samplecode/SampleSkLayer.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/samplecode/SampleSkLayer.cpp b/samplecode/SampleSkLayer.cpp
index c10bdfd778..54efddf77e 100644
--- a/samplecode/SampleSkLayer.cpp
+++ b/samplecode/SampleSkLayer.cpp
@@ -29,6 +29,19 @@ static void test_inv(const char label[], const SkMatrix44& mat) {
SkDebugf("\n");
}
+static void test_map(SkScalar x0, SkScalar y0, SkScalar z0,
+ const SkMatrix44& mat,
+ SkScalar x1, SkScalar y1, SkScalar z1) {
+ SkVector4 src, dst;
+ src.set(x0, y0, z0);
+ dst = mat * src;
+ SkDebugf("map: src: %g %g %g dst: %g %g %g (%g) expected: %g %g %g match: %d\n",
+ x0, y0, z0,
+ dst.fData[0], dst.fData[1], dst.fData[2], dst.fData[3],
+ x1, y1, z1,
+ dst.fData[0] == x1 && dst.fData[1] == y1 && dst.fData[2] == z1);
+}
+
static void test44() {
SkMatrix44 m0, m1, m2;
@@ -50,6 +63,21 @@ static void test44() {
m0.setScale(2, 4, 6);
m0.postScale(SkDoubleToMScalar(0.5));
test_inv("scale/postscale to 1,2,3", m0);
+
+ m0.reset();
+ test_map(1, 0, 0, m0, 1, 0, 0);
+ test_map(0, 1, 0, m0, 0, 1, 0);
+ test_map(0, 0, 1, m0, 0, 0, 1);
+ m0.setScale(2, 3, 4);
+ test_map(1, 0, 0, m0, 2, 0, 0);
+ test_map(0, 1, 0, m0, 0, 3, 0);
+ test_map(0, 0, 1, m0, 0, 0, 4);
+ m0.setTranslate(2, 3, 4);
+ test_map(0, 0, 0, m0, 2, 3, 4);
+ m0.preScale(5, 6, 7);
+ test_map(1, 0, 0, m0, 7, 3, 4);
+ test_map(0, 1, 0, m0, 2, 9, 4);
+ test_map(0, 0, 1, m0, 2, 3, 11);
}
///////////////////////////////////////////////////////////////////////////////
@@ -142,7 +170,7 @@ public:
fRootLayer->setMatrix(matrix);
}
- dump_layers(fRootLayer);
+// dump_layers(fRootLayer);
}
virtual ~SkLayerView() {