[sksg] 4x4 matrix support
Refactor the scene graph transform hierarchy to support 4x4 matrices:
* rename current Transform to TransformEffect (operates as a render tree effect)
* introduce a new Transform abstract base class, to replace current Matrix
* refactor existing Matrix as a Transform specialization
* introduce a new Matrix44 Transform specialization
* refactor the existing composition helper (ComposedMatrix) as Concat,
a Transform specialization (using composition instead of Matrix inheritance)
Change-Id: Ic3c1b499e10a0a229a7a76d4bef3dbc6a8b49194
Reviewed-on: https://skia-review.googlesource.com/c/182666
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/modules/sksg/tests/SGTest.cpp b/modules/sksg/tests/SGTest.cpp
index 1b6e4f9..0d614ff 100644
--- a/modules/sksg/tests/SGTest.cpp
+++ b/modules/sksg/tests/SGTest.cpp
@@ -61,7 +61,7 @@
r2 = sksg::Rect::Make(SkRect::MakeWH(100, 100));
auto grp = sksg::Group::Make();
auto matrix = sksg::Matrix::Make(SkMatrix::I());
- auto root = sksg::Transform::Make(grp, matrix);
+ auto root = sksg::TransformEffect::Make(grp, matrix);
grp->addChild(sksg::Draw::Make(r1, color));
grp->addChild(sksg::Draw::Make(r2, color));
@@ -129,9 +129,10 @@
auto color = sksg::Color::Make(0xff000000);
auto rect = sksg::Rect::Make(SkRect::MakeWH(100, 100));
auto m1 = sksg::Matrix::Make(SkMatrix::I()),
- m2 = sksg::Matrix::Make(SkMatrix::I(), m1);
- auto t1 = sksg::Transform::Make(sksg::Draw::Make(rect, color), m2),
- t2 = sksg::Transform::Make(sksg::Draw::Make(rect, color), m1);
+ m2 = sksg::Matrix::Make(SkMatrix::I());
+ auto t1 = sksg::TransformEffect::Make(sksg::Draw::Make(rect, color),
+ sksg::Transform::MakeConcat(m1, m2)),
+ t2 = sksg::TransformEffect::Make(sksg::Draw::Make(rect, color), m1);
auto root = sksg::Group::Make();
root->addChild(t1);
root->addChild(t2);