Try out SkMatrix::Concat.
This should RVO to the same as doing it on the stack with setConcat.
BUG=skia:
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/293693002
git-svn-id: http://skia.googlecode.com/svn/trunk@14782 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/record/SkRecordDraw.cpp b/src/record/SkRecordDraw.cpp
index 5df1650..2bf7076 100644
--- a/src/record/SkRecordDraw.cpp
+++ b/src/record/SkRecordDraw.cpp
@@ -38,13 +38,7 @@
DRAW(PushCull, pushCull(r.rect));
DRAW(Clear, clear(r.color));
DRAW(Concat, concat(r.matrix));
-
-// We can't clobber the canvas' initial CTM when calling setMatrix.
-template <> void Draw::draw(const SetMatrix& r) {
- SkMatrix ctm;
- ctm.setConcat(fInitialCTM, r.matrix);
- fCanvas->setMatrix(ctm);
-}
+DRAW(SetMatrix, setMatrix(SkMatrix::Concat(fInitialCTM, r.matrix)));
DRAW(ClipPath, clipPath(r.path, r.op, r.doAA));
DRAW(ClipRRect, clipRRect(r.rrect, r.op, r.doAA));