hide getTotalClip, so we can eventually remove it 
hide getClipType, so we can eventually remove it

patch from issue 189443007

TBR=robertphilips@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/189883010

git-svn-id: http://skia.googlecode.com/svn/trunk@13715 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 58ec8fd..9dcbfdb 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1526,7 +1526,7 @@
     // construct clipRgn from the clipstack
     const SkBaseDevice* device = this->getDevice();
     if (!device) {
-        SkASSERT(this->getTotalClip().isEmpty());
+        SkASSERT(this->isClipEmpty());
         return;
     }
 
@@ -1553,12 +1553,6 @@
             }
         }
     }
-
-#if 0   // enable this locally for testing
-    // now compare against the current rgn
-    const SkRegion& rgn = this->getTotalClip();
-    SkASSERT(rgn == tmpClip);
-#endif
 }
 #endif
 
@@ -1591,6 +1585,10 @@
     return fMCRec->fRasterClip->isEmpty();
 }
 
+bool SkCanvas::isClipRect() const {
+    return fMCRec->fRasterClip->isRect();
+}
+
 bool SkCanvas::quickReject(const SkRect& rect) const {
 
     if (!rect.isFinite())
@@ -1671,6 +1669,7 @@
     return *fMCRec->fMatrix;
 }
 
+#ifdef SK_SUPPORT_LEGACY_GETCLIPTYPE
 SkCanvas::ClipType SkCanvas::getClipType() const {
     if (fMCRec->fRasterClip->isEmpty()) {
         return kEmpty_ClipType;
@@ -1680,10 +1679,27 @@
     }
     return kComplex_ClipType;
 }
+#endif
 
+#ifdef SK_SUPPORT_LEGACY_GETTOTALCLIP
 const SkRegion& SkCanvas::getTotalClip() const {
     return fMCRec->fRasterClip->forceGetBW();
 }
+#endif
+
+const SkRegion& SkCanvas::internal_private_getTotalClip() const {
+    return fMCRec->fRasterClip->forceGetBW();
+}
+
+void SkCanvas::internal_private_getTotalClipAsPath(SkPath* path) const {
+    path->reset();
+
+    const SkRegion& rgn = fMCRec->fRasterClip->forceGetBW();
+    if (rgn.isEmpty()) {
+        return;
+    }
+    (void)rgn.getBoundaryPath(path);
+}
 
 SkBaseDevice* SkCanvas::createLayerDevice(const SkImageInfo& info) {
     SkBaseDevice* device = this->getTopDevice();
diff --git a/src/utils/SkCanvasStateUtils.cpp b/src/utils/SkCanvasStateUtils.cpp
index 4b8868b..c5b558a 100644
--- a/src/utils/SkCanvasStateUtils.cpp
+++ b/src/utils/SkCanvasStateUtils.cpp
@@ -194,7 +194,8 @@
     SkAutoTDelete<SkCanvasState> canvasState(SkNEW_ARGS(SkCanvasState, (canvas)));
 
     // decompose the total matrix and clip
-    setup_MC_state(&canvasState->mcState, canvas->getTotalMatrix(), canvas->getTotalClip());
+    setup_MC_state(&canvasState->mcState, canvas->getTotalMatrix(),
+                   canvas->internal_private_getTotalClip());
 
     /*
      * decompose the layers
diff --git a/src/utils/debugger/SkDebugCanvas.cpp b/src/utils/debugger/SkDebugCanvas.cpp
index 066d7a6..08e6d94 100644
--- a/src/utils/debugger/SkDebugCanvas.cpp
+++ b/src/utils/debugger/SkDebugCanvas.cpp
@@ -328,7 +328,9 @@
         canvas->restore();
     }
     fMatrix = canvas->getTotalMatrix();
-    fClip = canvas->getTotalClip().getBounds();
+    if (!canvas->getClipDeviceBounds(&fClip)) {
+        fClip.setEmpty();
+    }
     fIndex = index;
 }
 
diff --git a/src/utils/debugger/SkDebugCanvas.h b/src/utils/debugger/SkDebugCanvas.h
index b978036..0bbb640 100644
--- a/src/utils/debugger/SkDebugCanvas.h
+++ b/src/utils/debugger/SkDebugCanvas.h
@@ -226,9 +226,12 @@
     static const int kVizImageWidth = 256;
 
     virtual bool isClipEmpty() const SK_OVERRIDE { return false; }
+    virtual bool isClipRect() const SK_OVERRIDE { return true; }
+#ifdef SK_SUPPORT_LEGACY_GETCLIPTYPE
     virtual ClipType getClipType() const SK_OVERRIDE {
         return kRect_ClipType;
     }
+#endif
     virtual bool getClipBounds(SkRect* bounds) const SK_OVERRIDE {
         if (NULL != bounds) {
             bounds->setXYWH(0, 0,