From 7cb464aedbf3052b0bd9fb0bf2263194dcd95911 Mon Sep 17 00:00:00 2001 From: mikerreed Date: Wed, 30 Dec 2020 16:45:33 -0500 Subject: [PATCH] Switch to new virtuals on SkCanvas (#23350) * Switch to new virtuals on SkCanvas Co-authored-by: Mike Reed --- shell/common/canvas_spy.cc | 62 +++++++++++++++++++++++++++++--------- shell/common/canvas_spy.h | 51 ++++++++++++++++++++++++------- testing/mock_canvas.cc | 53 +++++++++++++++----------------- testing/mock_canvas.h | 50 +++++++++++++++--------------- 4 files changed, 137 insertions(+), 79 deletions(-) diff --git a/shell/common/canvas_spy.cc b/shell/common/canvas_spy.cc index 117f1a9c6aa..0b884a0ec94 100644 --- a/shell/common/canvas_spy.cc +++ b/shell/common/canvas_spy.cc @@ -125,6 +125,7 @@ void DidDrawCanvas::onDrawPath(const SkPath& path, const SkPaint& paint) { MarkDrawIfNonTransparentPaint(paint); } +#ifdef SK_SUPPORT_LEGACY_ONDRAWIMAGERECT void DidDrawCanvas::onDrawImage(const SkImage* image, SkScalar left, SkScalar top, @@ -140,13 +141,6 @@ void DidDrawCanvas::onDrawImageRect(const SkImage* image, did_draw_ = true; } -void DidDrawCanvas::onDrawImageNine(const SkImage* image, - const SkIRect& center, - const SkRect& dst, - const SkPaint* paint) { - did_draw_ = true; -} - void DidDrawCanvas::onDrawImageLattice(const SkImage* image, const Lattice& lattice, const SkRect& dst, @@ -154,6 +148,43 @@ void DidDrawCanvas::onDrawImageLattice(const SkImage* image, did_draw_ = true; } +void DidDrawCanvas::onDrawAtlas(const SkImage* image, + const SkRSXform xform[], + const SkRect tex[], + const SkColor colors[], + int count, + SkBlendMode bmode, + const SkRect* cull, + const SkPaint* paint) { + did_draw_ = true; +} +#endif + +void DidDrawCanvas::onDrawImage2(const SkImage* image, + SkScalar left, + SkScalar top, + const SkSamplingOptions&, + const SkPaint* paint) { + did_draw_ = true; +} + +void DidDrawCanvas::onDrawImageRect2(const SkImage* image, + const SkRect& src, + const SkRect& dst, + const SkSamplingOptions&, + const SkPaint* paint, + SrcRectConstraint constraint) { + did_draw_ = true; +} + +void DidDrawCanvas::onDrawImageLattice2(const SkImage* image, + const Lattice& lattice, + const SkRect& dst, + SkFilterMode, + const SkPaint* paint) { + did_draw_ = true; +} + void DidDrawCanvas::onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, @@ -186,14 +217,15 @@ void DidDrawCanvas::onDrawPatch(const SkPoint cubics[12], MarkDrawIfNonTransparentPaint(paint); } -void DidDrawCanvas::onDrawAtlas(const SkImage* image, - const SkRSXform xform[], - const SkRect tex[], - const SkColor colors[], - int count, - SkBlendMode bmode, - const SkRect* cull, - const SkPaint* paint) { +void DidDrawCanvas::onDrawAtlas2(const SkImage* image, + const SkRSXform xform[], + const SkRect tex[], + const SkColor colors[], + int count, + SkBlendMode bmode, + const SkSamplingOptions&, + const SkRect* cull, + const SkPaint* paint) { did_draw_ = true; } diff --git a/shell/common/canvas_spy.h b/shell/common/canvas_spy.h index 4ce9fd8da19..aed5c200ee2 100644 --- a/shell/common/canvas_spy.h +++ b/shell/common/canvas_spy.h @@ -127,6 +127,7 @@ class DidDrawCanvas final : public SkCanvasVirtualEnforcer { // |SkCanvasVirtualEnforcer| void onDrawPath(const SkPath&, const SkPaint&) override; +#ifdef SK_SUPPORT_LEGACY_ONDRAWIMAGERECT // |SkCanvasVirtualEnforcer| void onDrawImage(const SkImage*, SkScalar left, @@ -146,17 +147,6 @@ class DidDrawCanvas final : public SkCanvasVirtualEnforcer { const SkRect&, const SkPaint*) override; - // |SkCanvasVirtualEnforcer| - void onDrawImageNine(const SkImage*, - const SkIRect& center, - const SkRect& dst, - const SkPaint*) override; - - // |SkCanvasVirtualEnforcer| - void onDrawVerticesObject(const SkVertices*, - SkBlendMode, - const SkPaint&) override; - // |SkCanvasVirtualEnforcer| void onDrawAtlas(const SkImage*, const SkRSXform[], @@ -166,6 +156,45 @@ class DidDrawCanvas final : public SkCanvasVirtualEnforcer { SkBlendMode, const SkRect*, const SkPaint*) override; +#endif + + // |SkCanvasVirtualEnforcer| + void onDrawImage2(const SkImage*, + SkScalar left, + SkScalar top, + const SkSamplingOptions&, + const SkPaint*) override; + + // |SkCanvasVirtualEnforcer| + void onDrawImageRect2(const SkImage*, + const SkRect& src, + const SkRect& dst, + const SkSamplingOptions&, + const SkPaint*, + SrcRectConstraint) override; + + // |SkCanvasVirtualEnforcer| + void onDrawImageLattice2(const SkImage*, + const Lattice&, + const SkRect&, + SkFilterMode, + const SkPaint*) override; + + // |SkCanvasVirtualEnforcer| + void onDrawVerticesObject(const SkVertices*, + SkBlendMode, + const SkPaint&) override; + + // |SkCanvasVirtualEnforcer| + void onDrawAtlas2(const SkImage*, + const SkRSXform[], + const SkRect[], + const SkColor[], + int, + SkBlendMode, + const SkSamplingOptions&, + const SkRect*, + const SkPaint*) override; // |SkCanvasVirtualEnforcer| void onDrawShadowRec(const SkPath&, const SkDrawShadowRec&) override; diff --git a/testing/mock_canvas.cc b/testing/mock_canvas.cc index aea8bf227f5..42f82162fc0 100644 --- a/testing/mock_canvas.cc +++ b/testing/mock_canvas.cc @@ -230,32 +230,28 @@ void MockCanvas::onDrawRRect(const SkRRect&, const SkPaint&) { FML_DCHECK(false); } -void MockCanvas::onDrawImage(const SkImage*, - SkScalar, - SkScalar, - const SkPaint*) { +void MockCanvas::onDrawImage2(const SkImage*, + SkScalar, + SkScalar, + const SkSamplingOptions&, + const SkPaint*) { FML_DCHECK(false); } -void MockCanvas::onDrawImageRect(const SkImage*, - const SkRect*, - const SkRect&, - const SkPaint*, - SrcRectConstraint) { +void MockCanvas::onDrawImageRect2(const SkImage*, + const SkRect&, + const SkRect&, + const SkSamplingOptions&, + const SkPaint*, + SrcRectConstraint) { FML_DCHECK(false); } -void MockCanvas::onDrawImageNine(const SkImage*, - const SkIRect&, - const SkRect&, - const SkPaint*) { - FML_DCHECK(false); -} - -void MockCanvas::onDrawImageLattice(const SkImage*, - const Lattice&, - const SkRect&, - const SkPaint*) { +void MockCanvas::onDrawImageLattice2(const SkImage*, + const Lattice&, + const SkRect&, + SkFilterMode, + const SkPaint*) { FML_DCHECK(false); } @@ -265,14 +261,15 @@ void MockCanvas::onDrawVerticesObject(const SkVertices*, FML_DCHECK(false); } -void MockCanvas::onDrawAtlas(const SkImage*, - const SkRSXform[], - const SkRect[], - const SkColor[], - int, - SkBlendMode, - const SkRect*, - const SkPaint*) { +void MockCanvas::onDrawAtlas2(const SkImage*, + const SkRSXform[], + const SkRect[], + const SkColor[], + int, + SkBlendMode, + const SkSamplingOptions&, + const SkRect*, + const SkPaint*) { FML_DCHECK(false); } diff --git a/testing/mock_canvas.h b/testing/mock_canvas.h index 47287a3b86b..f073246ea7b 100644 --- a/testing/mock_canvas.h +++ b/testing/mock_canvas.h @@ -198,34 +198,34 @@ class MockCanvas : public SkCanvasVirtualEnforcer { bool, const SkPaint&) override; void onDrawRRect(const SkRRect&, const SkPaint&) override; - void onDrawImage(const SkImage* image, - SkScalar x, - SkScalar y, - const SkPaint* paint) 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 onDrawImageLattice(const SkImage*, - const Lattice&, - const SkRect&, - const SkPaint*) override; + void onDrawImage2(const SkImage* image, + SkScalar x, + SkScalar y, + const SkSamplingOptions&, + const SkPaint* paint) override; + void onDrawImageRect2(const SkImage*, + const SkRect&, + const SkRect&, + const SkSamplingOptions&, + const SkPaint*, + SrcRectConstraint) override; + void onDrawImageLattice2(const SkImage*, + const Lattice&, + const SkRect&, + SkFilterMode, + const SkPaint*) override; void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; - void onDrawAtlas(const SkImage*, - const SkRSXform[], - const SkRect[], - const SkColor[], - int, - SkBlendMode, - const SkRect*, - const SkPaint*) override; + void onDrawAtlas2(const SkImage*, + const SkRSXform[], + const SkRect[], + const SkColor[], + int, + SkBlendMode, + const SkSamplingOptions&, + const SkRect*, + const SkPaint*) override; void onDrawEdgeAAQuad(const SkRect&, const SkPoint[4], QuadAAFlags,