Add no-op draw overrides to SkNoDrawCanvas

SkNoDrawCanvas is not backed by pixels, but for draw ops not intercepted
by clients we abort rasterization failry late (SkNullBlitter).

BUG=chromium:668925
R=reed@google.com

Change-Id: I4cd80dbbc262936d33410275051ea0b9c04fbc6c
Reviewed-on: https://skia-review.googlesource.com/5543
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
diff --git a/include/utils/SkNoDrawCanvas.h b/include/utils/SkNoDrawCanvas.h
index e8c5d7e..316a1c0 100644
--- a/include/utils/SkNoDrawCanvas.h
+++ b/include/utils/SkNoDrawCanvas.h
@@ -30,6 +30,46 @@
 protected:
     SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) override;
 
+    // No-op overrides for aborting rasterization earlier than SkNullBlitter.
+    void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override {}
+    void onDrawDrawable(SkDrawable*, const SkMatrix*) override {}
+    void onDrawText(const void*, size_t, SkScalar, SkScalar, const SkPaint&) override {}
+    void onDrawPosText(const void*, size_t, const SkPoint[], const SkPaint&) override {}
+    void onDrawPosTextH(const void*, size_t, const SkScalar[], SkScalar, const SkPaint&) override {}
+    void onDrawTextOnPath(const void*, size_t, const SkPath&, const SkMatrix*,
+                          const SkPaint&) override {}
+    void onDrawTextRSXform(const void*, size_t, const SkRSXform[], const SkRect*,
+                           const SkPaint&) override {}
+    void onDrawTextBlob(const SkTextBlob*, SkScalar, SkScalar, const SkPaint&) override {}
+    void onDrawPatch(const SkPoint[12], const SkColor[4], const SkPoint[4], SkBlendMode,
+                     const SkPaint&) override {}
+
+    void onDrawPaint(const SkPaint&) override {}
+    void onDrawPoints(PointMode, size_t, const SkPoint[], const SkPaint&) override {}
+    void onDrawRect(const SkRect&, const SkPaint&) override {}
+    void onDrawRegion(const SkRegion&, const SkPaint&) override {}
+    void onDrawOval(const SkRect&, const SkPaint&) override {}
+    void onDrawArc(const SkRect&, SkScalar, SkScalar, bool, const SkPaint&) override {}
+    void onDrawRRect(const SkRRect&, const SkPaint&) override {}
+    void onDrawPath(const SkPath&, const SkPaint&) override {}
+    void onDrawBitmap(const SkBitmap&, SkScalar, SkScalar, const SkPaint*) override {}
+    void onDrawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkPaint*,
+                          SrcRectConstraint) override {}
+    void onDrawImage(const SkImage*, SkScalar, SkScalar, const SkPaint*) override {}
+    void onDrawImageRect(const SkImage*, const SkRect*, const SkRect&, const SkPaint*,
+                         SrcRectConstraint) override {}
+    void onDrawImageNine(const SkImage*, const SkIRect&, const SkRect&, const SkPaint*) override {}
+    void onDrawBitmapNine(const SkBitmap&, const SkIRect&, const SkRect&,
+                          const SkPaint*) override {}
+    void onDrawImageLattice(const SkImage*, const Lattice&, const SkRect&,
+                            const SkPaint*) override {}
+    void onDrawBitmapLattice(const SkBitmap&, const Lattice&, const SkRect&,
+                             const SkPaint*) override {}
+    void onDrawVertices(VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[],
+                        SkBlendMode, const uint16_t[], int, const SkPaint&) override {}
+    void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[],
+                     int, SkBlendMode, const SkRect*, const SkPaint*) override {}
+
 private:
     typedef SkCanvas INHERITED;
 };