Index: src/record/SkRecordDraw.cpp |
diff --git a/src/record/SkRecordDraw.cpp b/src/record/SkRecordDraw.cpp |
index 324946e5d7a218364d3305b46606e5db652f01a3..3e0ac70b5a3216c03781504a1a474bdf2f421dc9 100644 |
--- a/src/record/SkRecordDraw.cpp |
+++ b/src/record/SkRecordDraw.cpp |
@@ -38,7 +38,13 @@ DRAW(PopCull, popCull()); |
DRAW(PushCull, pushCull(r.rect)); |
DRAW(Clear, clear(r.color)); |
DRAW(Concat, concat(r.matrix)); |
-DRAW(SetMatrix, setMatrix(r.matrix)); |
+ |
+// We can't clobber the canvas' initial CTM when calling setMatrix. |
+template <> void Draw::draw(const SetMatrix& r) { |
+ SkMatrix ctm = r.matrix; |
+ ctm.postConcat(fInitialCTM); |
reed1
2014/05/19 15:04:34
seems fine.
NIT: Is it any more efficient to say:
mtklein
2014/05/19 15:11:23
Yes, I think that is a bit more efficient. Done.
|
+ fCanvas->setMatrix(ctm); |
+} |
DRAW(ClipPath, clipPath(r.path, r.op, r.doAA)); |
DRAW(ClipRRect, clipRRect(r.rrect, r.op, r.doAA)); |