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/SkLuaCanvas.cpp b/src/utils/SkLuaCanvas.cpp
index b5789e0..7e1d5a8 100644
--- a/src/utils/SkLuaCanvas.cpp
+++ b/src/utils/SkLuaCanvas.cpp
@@ -106,35 +106,27 @@
this->INHERITED::willRestore();
}
-void SkLuaCanvas::didTranslate(SkScalar dx, SkScalar dy) {
- AUTO_LUA("translate");
- lua.pushScalar(dx, "dx");
- lua.pushScalar(dy, "dy");
- this->INHERITED::didTranslate(dx, dy);
-}
-
-void SkLuaCanvas::didScale(SkScalar sx, SkScalar sy) {
- AUTO_LUA("scale");
- lua.pushScalar(sx, "sx");
- lua.pushScalar(sy, "sy");
- this->INHERITED::didScale(sx, sy);
-}
-
-void SkLuaCanvas::didRotate(SkScalar degrees) {
- AUTO_LUA("rotate");
- lua.pushScalar(degrees, "degrees");
- this->INHERITED::didRotate(degrees);
-}
-
-void SkLuaCanvas::didSkew(SkScalar kx, SkScalar ky) {
- AUTO_LUA("skew");
- lua.pushScalar(kx, "kx");
- lua.pushScalar(ky, "ky");
- this->INHERITED::didSkew(kx, ky);
-}
-
void SkLuaCanvas::didConcat(const SkMatrix& matrix) {
- AUTO_LUA("concat");
+ switch (matrix.getType()) {
+ case SkMatrix::kTranslate_Mask: {
+ AUTO_LUA("translate");
+ lua.pushScalar(matrix.getTranslateX(), "dx");
+ lua.pushScalar(matrix.getTranslateY(), "dy");
+ break;
+ }
+ case SkMatrix::kScale_Mask: {
+ AUTO_LUA("scale");
+ lua.pushScalar(matrix.getScaleX(), "sx");
+ lua.pushScalar(matrix.getScaleY(), "sy");
+ break;
+ }
+ default: {
+ AUTO_LUA("concat");
+ lua.pushMatrix(matrix);
+ break;
+ }
+ }
+
this->INHERITED::didConcat(matrix);
}