add guard for obsolete (non-functioning) replayClips
authorMike Reed <reed@google.com>
Wed, 5 Apr 2017 20:21:47 +0000 (16:21 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Thu, 6 Apr 2017 12:53:21 +0000 (12:53 +0000)
replayClips has been disabled (broken) for a while.
This CL just attempts to hide the api (will remove
once android's callsite is removed)

Bug: skia:
Change-Id: I35b412addfc0a08ea888a62609888b9b54dce2a6
Reviewed-on: https://skia-review.googlesource.com/11401
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

gn/android_framework_defines.gni
include/core/SkCanvas.h
src/core/SkCanvas.cpp
src/core/SkClipStack.cpp
src/core/SkClipStack.h
tests/CanvasTest.cpp
tools/debugger/SkDebugCanvas.cpp

index 3447efeb598c4e7f799c7f1153a90e1fa4639b9f..9f37ed68b21fcb5a40449a575074e7686fd5986f 100644 (file)
@@ -14,4 +14,5 @@ android_framework_defines = [
   "SK_IGNORE_GPU_DITHER",
   "SK_SUPPORT_LEGACY_SHADER_ISABITMAP",
   "SK_SUPPORT_LEGACY_EMBOSSMASKFILTER",
+  "SK_SUPPORT_OBSOLETE_REPLAYCLIP",
 ]
index 71e45fa369a8f190592916fd458e122c595bace3..4c875e8f4437b9cdcbd005ca4d5c3cf80f12d8bd 100644 (file)
@@ -21,7 +21,9 @@ class GrContext;
 class GrRenderTargetContext;
 class SkBaseDevice;
 class SkBitmap;
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 class SkCanvasClipVisitor;
+#endif
 class SkClipStack;
 class SkData;
 class SkDraw;
@@ -1281,6 +1283,7 @@ public:
     */
     const SkMatrix& getTotalMatrix() const;
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
     typedef SkCanvasClipVisitor ClipVisitor;
     /**
      *  Replays the clip operations, back to front, that have been applied to
@@ -1288,6 +1291,7 @@ public:
      *  clip. All clips have already been transformed into device space.
      */
     void replayClips(ClipVisitor*) const;
+#endif
 
     ///////////////////////////////////////////////////////////////////////////
 
@@ -1687,6 +1691,7 @@ private:
 };
 #define SkAutoCanvasRestore(...) SK_REQUIRE_LOCAL_VAR(SkAutoCanvasRestore)
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 class SkCanvasClipVisitor {
 public:
     virtual ~SkCanvasClipVisitor();
@@ -1694,5 +1699,6 @@ public:
     virtual void clipRRect(const SkRRect&, SkClipOp, bool antialias) = 0;
     virtual void clipPath(const SkPath&, SkClipOp, bool antialias) = 0;
 };
+#endif
 
 #endif
index e38e73be0c722eba6de5a85cd2aa9491c390b432..9a02c19129f05a4894ee8d14e413e656ecfa2694 100644 (file)
@@ -1573,6 +1573,7 @@ void SkCanvas::validateClip() const {
 }
 #endif
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 void SkCanvas::replayClips(ClipVisitor* visitor) const {
 #if 0
     SkClipStack::B2TIter                iter(*fClipStack);
@@ -1583,6 +1584,7 @@ void SkCanvas::replayClips(ClipVisitor* visitor) const {
     }
 #endif
 }
+#endif
 
 bool SkCanvas::androidFramework_isClipAA() const {
     bool containsAA = false;
@@ -3127,7 +3129,9 @@ int SkCanvas::LayerIter::y() const { return fImpl->getY(); }
 
 ///////////////////////////////////////////////////////////////////////////////
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 SkCanvasClipVisitor::~SkCanvasClipVisitor() { }
+#endif
 
 ///////////////////////////////////////////////////////////////////////////////
 
index a2621a9af48dbdd411283304e4695dc9d20c0deb..516cc8d1aef849581fd38d6b7a127c1e19102e5f 100644 (file)
@@ -70,6 +70,7 @@ bool SkClipStack::Element::operator== (const Element& element) const {
     }
 }
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 void SkClipStack::Element::replay(SkCanvasClipVisitor* visitor) const {
     static const SkRect kEmptyRect = { 0, 0, 0, 0 };
 
@@ -88,6 +89,7 @@ void SkClipStack::Element::replay(SkCanvasClipVisitor* visitor) const {
             break;
     }
 }
+#endif
 
 void SkClipStack::Element::invertShapeFillType() {
     switch (fType) {
index 9360f4de332b70c30faee4f788c45a2e197303a8..bd197e35fa5de28f43deef491911007d89e331ab 100644 (file)
@@ -21,7 +21,9 @@
 #include "GrResourceKey.h"
 #endif
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 class SkCanvasClipVisitor;
+#endif
 
 // Because a single save/restore state can have multiple clips, this class
 // stores the stack depth (fSaveCount) and clips (fDeque) separately.
@@ -196,10 +198,12 @@ public:
             return kPath_Type == fType && fPath.get()->isInverseFillType();
         }
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
         /**
         * Replay this clip into the visitor.
         */
         void replay(SkCanvasClipVisitor*) const;
+#endif
 
 #ifdef SK_DEBUG
         /**
index 9e7de6716584cd35f8450a1e3745b4d272b2b624..26228bacde8294cb276d1a283c3578fe10fdf631 100644 (file)
@@ -275,24 +275,6 @@ private:
     }
 };
 
-class Canvas2CanvasClipVisitor : public SkCanvas::ClipVisitor {
-public:
-    Canvas2CanvasClipVisitor(SkCanvas* target) : fTarget(target) {}
-
-    void clipRect(const SkRect& r, SkClipOp op, bool aa) override {
-        fTarget->clipRect(r, op, aa);
-    }
-    void clipRRect(const SkRRect& r, SkClipOp op, bool aa) override {
-        fTarget->clipRRect(r, op, aa);
-    }
-    void clipPath(const SkPath& p, SkClipOp op, bool aa) override {
-        fTarget->clipPath(p, op, aa);
-    }
-
-private:
-    SkCanvas* fTarget;
-};
-
 // Format strings that describe the test context.  The %s token is where
 // the name of the test step is inserted.  The context is required for
 // disambiguating the error in the case of failures that are reported in
index 2d7d040c279105a593c2cec2b0d8a0db423f928d..90627266db0cdad29797d4d66be1adb558ba1fbd 100644 (file)
@@ -149,6 +149,7 @@ int SkDebugCanvas::getCommandAtPoint(int x, int y, int index) {
     return layer;
 }
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
 class SkDebugClipVisitor : public SkCanvas::ClipVisitor {
 public:
     SkDebugClipVisitor(SkCanvas* canvas) : fCanvas(canvas) {}
@@ -181,6 +182,7 @@ protected:
 private:
     typedef SkCanvas::ClipVisitor INHERITED;
 };
+#endif
 
 // set up the saveLayer commands so that the active ones
 // return true in their 'active' method
@@ -288,6 +290,7 @@ void SkDebugCanvas::drawTo(SkCanvas* originalCanvas, int index, int m) {
         filterCanvas.restore();
     }
 
+#ifdef SK_SUPPORT_OBSOLETE_REPLAYCLIP
     if (fMegaVizMode) {
         filterCanvas.save();
         // nuke the CTM
@@ -305,6 +308,7 @@ void SkDebugCanvas::drawTo(SkCanvas* originalCanvas, int index, int m) {
 
         filterCanvas.restore();
     }
+#endif
     if (pathOpsMode) {
         this->resetClipStackData();
         const SkClipStack* clipStack = nullptr;//HACK filterCanvas.getClipStack();