Switch to new virtuals on SkCanvas (#23350)

* Switch to new virtuals on SkCanvas

Co-authored-by: Mike Reed <reed@google.com>
This commit is contained in:
mikerreed 2020-12-30 16:45:33 -05:00 committed by GitHub
parent 98ebeb11b5
commit 7cb464aedb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 137 additions and 79 deletions

View File

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

View File

@ -127,6 +127,7 @@ class DidDrawCanvas final : public SkCanvasVirtualEnforcer<SkNoDrawCanvas> {
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawPath(const SkPath&, const SkPaint&) override;
#ifdef SK_SUPPORT_LEGACY_ONDRAWIMAGERECT
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawImage(const SkImage*,
SkScalar left,
@ -146,17 +147,6 @@ class DidDrawCanvas final : public SkCanvasVirtualEnforcer<SkNoDrawCanvas> {
const SkRect&,
const SkPaint*) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawImageNine(const SkImage*,
const SkIRect& center,
const SkRect& dst,
const SkPaint*) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawVerticesObject(const SkVertices*,
SkBlendMode,
const SkPaint&) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawAtlas(const SkImage*,
const SkRSXform[],
@ -166,6 +156,45 @@ class DidDrawCanvas final : public SkCanvasVirtualEnforcer<SkNoDrawCanvas> {
SkBlendMode,
const SkRect*,
const SkPaint*) override;
#endif
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawImage2(const SkImage*,
SkScalar left,
SkScalar top,
const SkSamplingOptions&,
const SkPaint*) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawImageRect2(const SkImage*,
const SkRect& src,
const SkRect& dst,
const SkSamplingOptions&,
const SkPaint*,
SrcRectConstraint) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawImageLattice2(const SkImage*,
const Lattice&,
const SkRect&,
SkFilterMode,
const SkPaint*) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawVerticesObject(const SkVertices*,
SkBlendMode,
const SkPaint&) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawAtlas2(const SkImage*,
const SkRSXform[],
const SkRect[],
const SkColor[],
int,
SkBlendMode,
const SkSamplingOptions&,
const SkRect*,
const SkPaint*) override;
// |SkCanvasVirtualEnforcer<SkNoDrawCanvas>|
void onDrawShadowRec(const SkPath&, const SkDrawShadowRec&) override;

View File

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

View File

@ -198,34 +198,34 @@ class MockCanvas : public SkCanvasVirtualEnforcer<SkCanvas> {
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,