diff options
Diffstat (limited to 'src/core/SkBitmapDevice.cpp')
-rw-r--r-- | src/core/SkBitmapDevice.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp index e663cce171..cb177e0d12 100644 --- a/src/core/SkBitmapDevice.cpp +++ b/src/core/SkBitmapDevice.cpp @@ -367,10 +367,16 @@ void SkBitmapDevice::drawPosText(const SkDraw& draw, const void* text, size_t le void SkBitmapDevice::drawVertices(const SkDraw& draw, SkCanvas::VertexMode vmode, int vertexCount, const SkPoint verts[], const SkPoint textures[], - const SkColor colors[], SkXfermode* xmode, + const SkColor colors[], SK_XFERMODE_PARAM xmode, const uint16_t indices[], int indexCount, const SkPaint& paint) { - draw.drawVertices(vmode, vertexCount, verts, textures, colors, xmode, + SkBlendMode bmode; +#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM + bmode = xmode ? xmode->blend() : SkBlendMode::kModulate; +#else + bmode = xmode; +#endif + draw.drawVertices(vmode, vertexCount, verts, textures, colors, bmode, indices, indexCount, paint); } |