Consolidate SkCanvas matrix virtuals.
Remove didTranslate, didScale, didRotate & didSkew, and rely on
didConcat instead. Subclasses can sniff the matrix type if they want to
differentiate.
(work in progress)
R=reed@google.com, robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/203203004
git-svn-id: http://skia.googlecode.com/svn/trunk@13940 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/utils/SkDumpCanvas.cpp b/src/utils/SkDumpCanvas.cpp
index 7445940..3bf90da 100644
--- a/src/utils/SkDumpCanvas.cpp
+++ b/src/utils/SkDumpCanvas.cpp
@@ -222,33 +222,26 @@
this->INHERITED::willRestore();
}
-void SkDumpCanvas::didTranslate(SkScalar dx, SkScalar dy) {
- this->dump(kMatrix_Verb, NULL, "translate(%g %g)",
- SkScalarToFloat(dx), SkScalarToFloat(dy));
- this->INHERITED::didTranslate(dx, dy);
-}
-
-void SkDumpCanvas::didScale(SkScalar sx, SkScalar sy) {
- this->dump(kMatrix_Verb, NULL, "scale(%g %g)",
- SkScalarToFloat(sx), SkScalarToFloat(sy));
- this->INHERITED::didScale(sx, sy);
-}
-
-void SkDumpCanvas::didRotate(SkScalar degrees) {
- this->dump(kMatrix_Verb, NULL, "rotate(%g)", SkScalarToFloat(degrees));
- this->INHERITED::didRotate(degrees);
-}
-
-void SkDumpCanvas::didSkew(SkScalar sx, SkScalar sy) {
- this->dump(kMatrix_Verb, NULL, "skew(%g %g)",
- SkScalarToFloat(sx), SkScalarToFloat(sy));
- this->INHERITED::didSkew(sx, sy);
-}
-
void SkDumpCanvas::didConcat(const SkMatrix& matrix) {
SkString str;
- matrix.toString(&str);
- this->dump(kMatrix_Verb, NULL, "concat(%s)", str.c_str());
+
+ switch (matrix.getType()) {
+ case SkMatrix::kTranslate_Mask:
+ this->dump(kMatrix_Verb, NULL, "translate(%g %g)",
+ SkScalarToFloat(matrix.getTranslateX()),
+ SkScalarToFloat(matrix.getTranslateY()));
+ break;
+ case SkMatrix::kScale_Mask:
+ this->dump(kMatrix_Verb, NULL, "scale(%g %g)",
+ SkScalarToFloat(matrix.getScaleX()),
+ SkScalarToFloat(matrix.getScaleY()));
+ break;
+ default:
+ matrix.toString(&str);
+ this->dump(kMatrix_Verb, NULL, "concat(%s)", str.c_str());
+ break;
+ }
+
this->INHERITED::didConcat(matrix);
}