aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-03-17 12:09:04 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-17 17:03:18 +0000
commitfed9cfdc0216152d7fffe6d838ea7281466ffe74 (patch)
treef492f753a9ec89df2e9725bd5e60b7101f6c9a9a /src
parente0a34e7dcddf68f0972805894f26c54869c3faba (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.cpp33
-rw-r--r--src/core/SkColorSpaceXformCanvas.cpp23
-rw-r--r--src/core/SkLiteDL.cpp58
-rw-r--r--src/core/SkLiteDL.h2
-rw-r--r--src/core/SkLiteRecorder.cpp8
-rw-r--r--src/core/SkLiteRecorder.h2
-rw-r--r--src/core/SkOverdrawCanvas.cpp10
-rw-r--r--src/core/SkOverdrawCanvas.h3
-rw-r--r--src/core/SkPictureRecord.cpp11
-rw-r--r--src/core/SkPictureRecord.h6
-rw-r--r--src/core/SkRecorder.cpp9
-rw-r--r--src/core/SkRecorder.h5
-rw-r--r--src/pipe/SkPipeCanvas.cpp43
-rw-r--r--src/pipe/SkPipeCanvas.h6
-rw-r--r--src/utils/SkDeferredCanvas.cpp10
-rw-r--r--src/utils/SkDeferredCanvas.h6
-rw-r--r--src/utils/SkDumpCanvas.cpp12
-rw-r--r--src/utils/SkNWayCanvas.cpp10
-rw-r--r--src/utils/SkPaintFilterCanvas.cpp10
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());
}
}