De-virtualize SkCanvas matrix ops.
This moves the matrix management logic into non-virtual SkCanvas
methods, and turns the virtuals into protected notifiers.
R=reed@google.com, robertphillips@google.com, bsalomon@google.com
BUG=skia:2297
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/195793012
git-svn-id: http://skia.googlecode.com/svn/trunk@13799 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/utils/SkProxyCanvas.cpp b/src/utils/SkProxyCanvas.cpp
index a32819d..037ddd0 100644
--- a/src/utils/SkProxyCanvas.cpp
+++ b/src/utils/SkProxyCanvas.cpp
@@ -39,28 +39,34 @@
this->INHERITED::willRestore();
}
-bool SkProxyCanvas::translate(SkScalar dx, SkScalar dy) {
- return fProxy->translate(dx, dy);
+void SkProxyCanvas::didTranslate(SkScalar dx, SkScalar dy) {
+ fProxy->translate(dx, dy);
+ this->INHERITED::didTranslate(dx, dy);
}
-bool SkProxyCanvas::scale(SkScalar sx, SkScalar sy) {
- return fProxy->scale(sx, sy);
+void SkProxyCanvas::didScale(SkScalar sx, SkScalar sy) {
+ fProxy->scale(sx, sy);
+ this->INHERITED::didScale(sx, sy);
}
-bool SkProxyCanvas::rotate(SkScalar degrees) {
- return fProxy->rotate(degrees);
+void SkProxyCanvas::didRotate(SkScalar degrees) {
+ fProxy->rotate(degrees);
+ this->INHERITED::didRotate(degrees);
}
-bool SkProxyCanvas::skew(SkScalar sx, SkScalar sy) {
- return fProxy->skew(sx, sy);
+void SkProxyCanvas::didSkew(SkScalar sx, SkScalar sy) {
+ fProxy->skew(sx, sy);
+ this->INHERITED::didSkew(sx, sy);
}
-bool SkProxyCanvas::concat(const SkMatrix& matrix) {
- return fProxy->concat(matrix);
+void SkProxyCanvas::didConcat(const SkMatrix& matrix) {
+ fProxy->concat(matrix);
+ this->INHERITED::didConcat(matrix);
}
-void SkProxyCanvas::setMatrix(const SkMatrix& matrix) {
+void SkProxyCanvas::didSetMatrix(const SkMatrix& matrix) {
fProxy->setMatrix(matrix);
+ this->INHERITED::didSetMatrix(matrix);
}
void SkProxyCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) {