aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2016-12-04 11:44:52 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-05 15:24:58 +0000
commitd8c278af51f0e5b3f98f66320acb827310b50e2c (patch)
treebd0acd560879f20f9a2d5a5e5b1c4e3dd4d90bf3
parente2e2ae23751d5a81f9cc9db8df2f5064108248aa (diff)
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>
-rw-r--r--include/utils/SkNoDrawCanvas.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/utils/SkNoDrawCanvas.h b/include/utils/SkNoDrawCanvas.h
index e8c5d7e5ca..316a1c0e02 100644
--- a/include/utils/SkNoDrawCanvas.h
+++ b/include/utils/SkNoDrawCanvas.h
@@ -30,6 +30,46 @@ public:
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;
};