diff options
author | Mike Reed <reed@google.com> | 2017-03-17 12:09:04 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-17 17:03:18 +0000 |
commit | fed9cfdc0216152d7fffe6d838ea7281466ffe74 (patch) | |
tree | f492f753a9ec89df2e9725bd5e60b7101f6c9a9a /src | |
parent | e0a34e7dcddf68f0972805894f26c54869c3faba (diff) |
remove legacy virtual for vertices, only support object form
BUG=skia:6366
Change-Id: Ic422fa44a788d3488c050c6218dbfba188bb8f3e
Reviewed-on: https://skia-review.googlesource.com/9835
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkCanvas.cpp | 33 | ||||
-rw-r--r-- | src/core/SkColorSpaceXformCanvas.cpp | 23 | ||||
-rw-r--r-- | src/core/SkLiteDL.cpp | 58 | ||||
-rw-r--r-- | src/core/SkLiteDL.h | 2 | ||||
-rw-r--r-- | src/core/SkLiteRecorder.cpp | 8 | ||||
-rw-r--r-- | src/core/SkLiteRecorder.h | 2 | ||||
-rw-r--r-- | src/core/SkOverdrawCanvas.cpp | 10 | ||||
-rw-r--r-- | src/core/SkOverdrawCanvas.h | 3 | ||||
-rw-r--r-- | src/core/SkPictureRecord.cpp | 11 | ||||
-rw-r--r-- | src/core/SkPictureRecord.h | 6 | ||||
-rw-r--r-- | src/core/SkRecorder.cpp | 9 | ||||
-rw-r--r-- | src/core/SkRecorder.h | 5 | ||||
-rw-r--r-- | src/pipe/SkPipeCanvas.cpp | 43 | ||||
-rw-r--r-- | src/pipe/SkPipeCanvas.h | 6 | ||||
-rw-r--r-- | src/utils/SkDeferredCanvas.cpp | 10 | ||||
-rw-r--r-- | src/utils/SkDeferredCanvas.h | 6 | ||||
-rw-r--r-- | src/utils/SkDumpCanvas.cpp | 12 | ||||
-rw-r--r-- | src/utils/SkNWayCanvas.cpp | 10 | ||||
-rw-r--r-- | src/utils/SkPaintFilterCanvas.cpp | 10 |
19 files changed, 45 insertions, 222 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index ccdb71b5a0..fbc2a3cc47 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -1792,11 +1792,14 @@ void SkCanvas::drawPoints(PointMode mode, size_t count, const SkPoint pts[], con this->onDrawPoints(mode, count, pts, paint); } -void SkCanvas::drawVertices(VertexMode vmode, int vertexCount, const SkPoint vertices[], +void SkCanvas::drawVertices(VertexMode vmode, int vertexCount, const SkPoint positions[], const SkPoint texs[], const SkColor colors[], SkBlendMode bmode, const uint16_t indices[], int indexCount, const SkPaint& paint) { - this->onDrawVertices(vmode, vertexCount, std::move(vertices), texs, colors, bmode, indices, - indexCount, paint); + auto vertices = SkVertices::MakeCopy(vmode, vertexCount, positions, texs, colors, + indexCount, indices); + if (vertices) { + this->onDrawVerticesObject(vertices.get(), bmode, paint); + } } void SkCanvas::drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode, @@ -2659,23 +2662,6 @@ void SkCanvas::drawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, this->onDrawTextBlob(blob, x, y, paint); } -void SkCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint verts[], const SkPoint texs[], - const SkColor colors[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawVertices()"); - LOOPER_BEGIN(paint, SkDrawFilter::kPath_Type, nullptr) - - while (iter.next()) { - iter.fDevice->drawVertices(vmode, vertexCount, verts, texs, - colors, bmode, indices, indexCount, - looper.paint()); - } - - LOOPER_END -} - void SkCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, const SkPaint& paint) { TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawVertices()"); @@ -2689,13 +2675,6 @@ void SkCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmod LOOPER_END } -void SkCanvas::devolveSkVerticesToRaw(const SkVertices* vertices, SkBlendMode mode, - const SkPaint& paint) { - this->onDrawVertices(vertices->mode(), vertices->vertexCount(), vertices->positions(), - vertices->texCoords(), vertices->colors(), mode, - vertices->indices(), vertices->indexCount(), paint); -} - void SkCanvas::drawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkBlendMode bmode, const SkPaint& paint) { diff --git a/src/core/SkColorSpaceXformCanvas.cpp b/src/core/SkColorSpaceXformCanvas.cpp index 112709dc93..e8fc8e40db 100644 --- a/src/core/SkColorSpaceXformCanvas.cpp +++ b/src/core/SkColorSpaceXformCanvas.cpp @@ -215,20 +215,21 @@ public: SkTLazy<SkPaint> lazy; fTarget->drawPoints(mode, count, pts, this->xform(paint, &lazy)); } - void onDrawVertices(VertexMode vmode, int count, - const SkPoint* verts, const SkPoint* texs, const SkColor* colors, - SkBlendMode mode, - const uint16_t* indices, int indexCount, const SkPaint& paint) override { - SkSTArray<8, SkColor> xformed; - if (colors) { - xformed.reset(count); - this->xform(xformed.begin(), colors, count); - colors = xformed.begin(); + void onDrawVerticesObject(const SkVertices* vertices, SkBlendMode mode, + const SkPaint& paint) override { + sk_sp<SkVertices> copy; + if (vertices->hasColors()) { + int count = vertices->vertexCount(); + SkSTArray<8, SkColor> xformed(count); + this->xform(xformed.begin(), vertices->colors(), count); + copy = SkVertices::MakeCopy(vertices->mode(), count, vertices->positions(), + vertices->texCoords(), xformed.begin(), + vertices->indexCount(), vertices->indices()); + vertices = copy.get(); } SkTLazy<SkPaint> lazy; - fTarget->drawVertices(vmode, count, verts, texs, colors, mode, indices, indexCount, - this->xform(paint, &lazy)); + fTarget->drawVertices(vertices, mode, this->xform(paint, &lazy)); } void onDrawText(const void* ptr, size_t len, diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp index 2da6eb5ef6..6751634ea4 100644 --- a/src/core/SkLiteDL.cpp +++ b/src/core/SkLiteDL.cpp @@ -55,7 +55,7 @@ namespace { M(DrawImage) M(DrawImageNine) M(DrawImageRect) M(DrawImageLattice) \ M(DrawText) M(DrawPosText) M(DrawPosTextH) \ M(DrawTextOnPath) M(DrawTextRSXform) M(DrawTextBlob) \ - M(DrawPatch) M(DrawPoints) M(DrawVertices) M(DrawVerticesObject) M(DrawAtlas) + M(DrawPatch) M(DrawPoints) M(DrawVertices) M(DrawAtlas) #define M(T) T, enum class Type : uint8_t { TYPES(M) }; @@ -467,45 +467,7 @@ namespace { }; struct DrawVertices final : Op { static const auto kType = Type::DrawVertices; - DrawVertices(SkCanvas::VertexMode mode, int count, SkBlendMode bmode, int nindices, - const SkPaint& paint, bool has_texs, bool has_colors, bool has_indices) - : mode(mode), count(count), xfermode(bmode), nindices(nindices) - , paint(paint), has_texs(has_texs), has_colors(has_colors), has_indices(has_indices) {} - SkCanvas::VertexMode mode; - int count; - SkBlendMode xfermode; - int nindices; - SkPaint paint; - bool has_texs; - bool has_colors; - bool has_indices; - void draw(SkCanvas* c, const SkMatrix&) { - SkPoint* vertices = pod<SkPoint>(this, 0); - size_t offset = count*sizeof(SkPoint); - - SkPoint* texs = nullptr; - if (has_texs) { - texs = pod<SkPoint>(this, offset); - offset += count*sizeof(SkPoint); - } - - SkColor* colors = nullptr; - if (has_colors) { - colors = pod<SkColor>(this, offset); - offset += count*sizeof(SkColor); - } - - uint16_t* indices = nullptr; - if (has_indices) { - indices = pod<uint16_t>(this, offset); - } - c->drawVertices(mode, count, vertices, texs, colors, xfermode, - indices, nindices, paint); - } - }; - struct DrawVerticesObject final : Op { - static const auto kType = Type::DrawVerticesObject; - DrawVerticesObject(const SkVertices* v, SkBlendMode m, const SkPaint& p) + DrawVertices(const SkVertices* v, SkBlendMode m, const SkPaint& p) : vertices(sk_ref_sp(const_cast<SkVertices*>(v))), mode(m), paint(p) {} sk_sp<SkVertices> vertices; SkBlendMode mode; @@ -712,22 +674,8 @@ void SkLiteDL::drawPoints(SkCanvas::PointMode mode, size_t count, const SkPoint void* pod = this->push<DrawPoints>(count*sizeof(SkPoint), mode, count, paint); copy_v(pod, points,count); } -void SkLiteDL::drawVertices(SkCanvas::VertexMode mode, int count, const SkPoint vertices[], - const SkPoint texs[], const SkColor colors[], SkBlendMode xfermode, - const uint16_t indices[], int nindices, const SkPaint& paint) { - size_t bytes = count * sizeof(SkPoint); - if (texs ) { bytes += count * sizeof(SkPoint); } - if (colors) { bytes += count * sizeof(SkColor); } - if (indices) { bytes += nindices * sizeof(uint16_t); } - void* pod = this->push<DrawVertices>(bytes, mode, count, xfermode, nindices, paint, - texs != nullptr, colors != nullptr, indices != nullptr); - copy_v(pod, vertices, count, - texs, texs ? count : 0, - colors, colors ? count : 0, - indices, indices ? nindices : 0); -} void SkLiteDL::drawVertices(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint) { - this->push<DrawVerticesObject>(0, vertices, mode, paint); + this->push<DrawVertices>(0, vertices, mode, paint); } void SkLiteDL::drawAtlas(const SkImage* atlas, const SkRSXform xforms[], const SkRect texs[], const SkColor colors[], int count, SkBlendMode xfermode, diff --git a/src/core/SkLiteDL.h b/src/core/SkLiteDL.h index bc5f4e701e..f5f7b21983 100644 --- a/src/core/SkLiteDL.h +++ b/src/core/SkLiteDL.h @@ -74,8 +74,6 @@ public: void drawPatch(const SkPoint[12], const SkColor[4], const SkPoint[4], SkBlendMode, const SkPaint&); void drawPoints(SkCanvas::PointMode, size_t, const SkPoint[], const SkPaint&); - void drawVertices(SkCanvas::VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[], - SkBlendMode, const uint16_t[], int, const SkPaint&); void drawVertices(const SkVertices*, SkBlendMode, const SkPaint&); void drawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int, SkBlendMode, const SkRect*, const SkPaint*); diff --git a/src/core/SkLiteRecorder.cpp b/src/core/SkLiteRecorder.cpp index a01ac655e7..f899f8822f 100644 --- a/src/core/SkLiteRecorder.cpp +++ b/src/core/SkLiteRecorder.cpp @@ -179,14 +179,6 @@ void SkLiteRecorder::onDrawPoints(SkCanvas::PointMode mode, const SkPaint& paint) { fDL->drawPoints(mode, count, pts, paint); } -void SkLiteRecorder::onDrawVertices(SkCanvas::VertexMode mode, - int count, const SkPoint vertices[], - const SkPoint texs[], const SkColor colors[], - SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - fDL->drawVertices(mode, count, vertices, texs, colors, bmode, indices, indexCount, paint); -} void SkLiteRecorder::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint) { fDL->drawVertices(vertices, mode, paint); diff --git a/src/core/SkLiteRecorder.h b/src/core/SkLiteRecorder.h index 82aeca385a..ea7cc78b2d 100644 --- a/src/core/SkLiteRecorder.h +++ b/src/core/SkLiteRecorder.h @@ -74,8 +74,6 @@ public: void onDrawPatch(const SkPoint[12], const SkColor[4], const SkPoint[4], SkBlendMode, const SkPaint&) override; void onDrawPoints(PointMode, size_t count, const SkPoint pts[], const SkPaint&) override; - void onDrawVertices(VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[], - SkBlendMode, const uint16_t[], int, 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; diff --git a/src/core/SkOverdrawCanvas.cpp b/src/core/SkOverdrawCanvas.cpp index c6b7b9c9cf..ad37b9a98f 100644 --- a/src/core/SkOverdrawCanvas.cpp +++ b/src/core/SkOverdrawCanvas.cpp @@ -213,13 +213,9 @@ void SkOverdrawCanvas::onDrawPoints(PointMode mode, size_t count, const SkPoint fList[0]->onDrawPoints(mode, count, points, this->overdrawPaint(paint)); } -void SkOverdrawCanvas::onDrawVertices(VertexMode vertexMode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode blendMode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - fList[0]->onDrawVertices(vertexMode, vertexCount, vertices, texs, colors, blendMode, indices, - indexCount, this->overdrawPaint(paint)); +void SkOverdrawCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode blendMode, + const SkPaint& paint) { + fList[0]->onDrawVerticesObject(vertices, blendMode, this->overdrawPaint(paint)); } void SkOverdrawCanvas::onDrawAtlas(const SkImage* image, const SkRSXform xform[], diff --git a/src/core/SkOverdrawCanvas.h b/src/core/SkOverdrawCanvas.h index dd584ef0bf..5c247b1630 100644 --- a/src/core/SkOverdrawCanvas.h +++ b/src/core/SkOverdrawCanvas.h @@ -38,8 +38,7 @@ public: void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; void onDrawRRect(const SkRRect&, const SkPaint&) override; void onDrawPoints(PointMode, size_t, const SkPoint[], const SkPaint&) override; - void onDrawVertices(VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[], - SkBlendMode, const uint16_t[], int, 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 onDrawPath(const SkPath&, const SkPaint&) override; diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index a2ada86419..9bdb6c5cc4 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -722,17 +722,6 @@ void SkPictureRecord::onDrawDrawable(SkDrawable* drawable, const SkMatrix* matri this->validate(initialOffset, size); } -void SkPictureRecord::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint pos[], const SkPoint texs[], - const SkColor cols[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - auto vertices = SkVertices::MakeCopy(vmode, vertexCount, pos, texs, cols, indexCount, indices); - if (vertices) { - this->onDrawVerticesObject(vertices.get(), bmode, paint); - } -} - void SkPictureRecord::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint) { // op + paint index + vertices index + mode diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h index 197684e347..4e0bf460e9 100644 --- a/src/core/SkPictureRecord.h +++ b/src/core/SkPictureRecord.h @@ -203,12 +203,6 @@ protected: const SkPaint*) override; void onDrawImageLattice(const SkImage*, const SkCanvas::Lattice& lattice, const SkRect& dst, const SkPaint*) override; - - void onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode, - const uint16_t indices[], int indexCount, - const SkPaint&) override; void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override; diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp index 9b38bcd2b3..0f2891a825 100644 --- a/src/core/SkRecorder.cpp +++ b/src/core/SkRecorder.cpp @@ -326,15 +326,6 @@ void SkRecorder::onDrawShadowedPicture(const SkPicture* pic, const SkMatrix* mat } -void SkRecorder::onDrawVertices(VertexMode vmode, - int vertexCount, const SkPoint vertices[], - const SkPoint texs[], const SkColor colors[], - SkBlendMode bmode, - const uint16_t indices[], int indexCount, const SkPaint& paint) { - this->onDrawVerticesObject(SkVertices::MakeCopy(vmode, vertexCount, vertices, texs, colors, - indexCount, indices).get(), bmode, paint); -} - void SkRecorder::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, const SkPaint& paint) { APPEND(DrawVertices, paint, sk_ref_sp(const_cast<SkVertices*>(vertices)), bmode); diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h index c13344227e..3407fc7032 100644 --- a/src/core/SkRecorder.h +++ b/src/core/SkRecorder.h @@ -124,11 +124,6 @@ public: const SkPaint*) override; void onDrawBitmapLattice(const SkBitmap&, const Lattice& lattice, const SkRect& dst, const SkPaint*) override; - void onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode, - const uint16_t indices[], int indexCount, - const SkPaint&) override; void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int count, SkBlendMode, const SkRect* cull, const SkPaint*) override; diff --git a/src/pipe/SkPipeCanvas.cpp b/src/pipe/SkPipeCanvas.cpp index e707f0db19..b05a643cb8 100644 --- a/src/pipe/SkPipeCanvas.cpp +++ b/src/pipe/SkPipeCanvas.cpp @@ -731,47 +731,14 @@ void SkPipeCanvas::onDrawRegion(const SkRegion& region, const SkPaint& paint) { write_paint(writer, paint, kGeometry_PaintUsage); } -void SkPipeCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - SkASSERT(vertexCount > 0); - - unsigned extra = 0; - if (vertexCount <= kVCount_DrawVerticesMask) { - extra |= vertexCount; - } - extra |= (unsigned)vmode << kVMode_DrawVerticesShift; - extra |= (unsigned)bmode << kXMode_DrawVerticesShift; - - if (texs) { - extra |= kHasTex_DrawVerticesMask; - } - if (colors) { - extra |= kHasColors_DrawVerticesMask; - } - if (indexCount > 0) { - extra |= kHasIndices_DrawVerticesMask; - } +void SkPipeCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, + const SkPaint& paint) { + unsigned extra = static_cast<unsigned>(bmode); SkPipeWriter writer(this); writer.write32(pack_verb(SkPipeVerb::kDrawVertices, extra)); - if (vertexCount > kVCount_DrawVerticesMask) { - writer.write32(vertexCount); - } - writer.write(vertices, vertexCount * sizeof(SkPoint)); - if (texs) { - writer.write(texs, vertexCount * sizeof(SkPoint)); - } - if (colors) { - writer.write(colors, vertexCount * sizeof(SkColor)); - } - if (indexCount > 0) { - writer.write32(indexCount); - SkASSERT(SkIsAlign2(indexCount)); - writer.write(indices, indexCount * sizeof(uint16_t)); - } + // TODO: dedup vertices? + writer.writeDataAsByteArray(vertices->encode().get()); write_paint(writer, paint, kVertices_PaintUsage); } diff --git a/src/pipe/SkPipeCanvas.h b/src/pipe/SkPipeCanvas.h index a506da4ece..5604ba787a 100644 --- a/src/pipe/SkPipeCanvas.h +++ b/src/pipe/SkPipeCanvas.h @@ -136,11 +136,7 @@ protected: const SkPaint*) override; void onDrawImageLattice(const SkImage*, const Lattice& lattice, const SkRect& dst, const SkPaint*) override; - void onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode, - const uint16_t indices[], int indexCount, - const SkPaint&) override; + void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override; void onClipRRect(const SkRRect&, SkClipOp, ClipEdgeStyle) override; diff --git a/src/utils/SkDeferredCanvas.cpp b/src/utils/SkDeferredCanvas.cpp index 871cb509cf..ecd5495e8f 100644 --- a/src/utils/SkDeferredCanvas.cpp +++ b/src/utils/SkDeferredCanvas.cpp @@ -520,14 +520,10 @@ void SkDeferredCanvas::onDrawAtlas(const SkImage* image, const SkRSXform xform[] fCanvas->drawAtlas(image, xform, rects, colors, count, bmode, cull, paint); } -void SkDeferredCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { +void SkDeferredCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, + const SkPaint& paint) { this->flush_before_saves(); - fCanvas->drawVertices(vmode, vertexCount, vertices, texs, colors, bmode, - indices, indexCount, paint); + fCanvas->drawVertices(vertices, bmode, paint); } void SkDeferredCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], diff --git a/src/utils/SkDeferredCanvas.h b/src/utils/SkDeferredCanvas.h index f983a19e23..b2bae1b943 100644 --- a/src/utils/SkDeferredCanvas.h +++ b/src/utils/SkDeferredCanvas.h @@ -84,11 +84,7 @@ protected: void onDrawImageRect(const SkImage*, const SkRect* src, const SkRect& dst, const SkPaint*, SrcRectConstraint) override; - void onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode, - const uint16_t indices[], int indexCount, - const SkPaint&) override; + void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; void onDrawAtlas(const SkImage* image, const SkRSXform xform[], const SkRect rects[], const SkColor colors[], int count, SkBlendMode, const SkRect* cull, const SkPaint* paint) override; diff --git a/src/utils/SkDumpCanvas.cpp b/src/utils/SkDumpCanvas.cpp index dc420136f5..030f4deed3 100644 --- a/src/utils/SkDumpCanvas.cpp +++ b/src/utils/SkDumpCanvas.cpp @@ -465,14 +465,10 @@ void SkDumpCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matri picture->cullRect().fRight, picture->cullRect().fBottom); } -void SkDumpCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] %g %g ...)", - toString(vmode), vertexCount, SkScalarToFloat(vertices[0].fX), - SkScalarToFloat(vertices[0].fY)); +void SkDumpCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode, + const SkPaint& paint) { + this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] ...)", + toString(vertices->mode()), vertices->vertexCount()); } void SkDumpCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], diff --git a/src/utils/SkNWayCanvas.cpp b/src/utils/SkNWayCanvas.cpp index 4f51d85f4f..4f6ad46d85 100644 --- a/src/utils/SkNWayCanvas.cpp +++ b/src/utils/SkNWayCanvas.cpp @@ -282,15 +282,11 @@ void SkNWayCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matri } } -void SkNWayCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { +void SkNWayCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, + const SkPaint& paint) { Iter iter(fList); while (iter.next()) { - iter->drawVertices(vmode, vertexCount, vertices, texs, colors, bmode, - indices, indexCount, paint); + iter->drawVertices(vertices, bmode, paint); } } diff --git a/src/utils/SkPaintFilterCanvas.cpp b/src/utils/SkPaintFilterCanvas.cpp index c6b28d0c5d..e504c72119 100644 --- a/src/utils/SkPaintFilterCanvas.cpp +++ b/src/utils/SkPaintFilterCanvas.cpp @@ -147,15 +147,11 @@ void SkPaintFilterCanvas::onDrawImageNine(const SkImage* image, const SkIRect& c } } -void SkPaintFilterCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { +void SkPaintFilterCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, + const SkPaint& paint) { AutoPaintFilter apf(this, kVertices_Type, paint); if (apf.shouldDraw()) { - this->INHERITED::onDrawVertices(vmode, vertexCount, vertices, texs, colors, bmode, indices, - indexCount, *apf.paint()); + this->INHERITED::onDrawVerticesObject(vertices, bmode, *apf.paint()); } } |