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;
};