diff options
author | 2010-11-04 12:10:40 -0700 | |
---|---|---|
committer | 2010-11-04 12:10:40 -0700 | |
commit | 1041aded2df45094c36831028245fb7c5e9b67b7 (patch) | |
tree | f11be43caf8d9f1b63ad9a79aea4e5a8edc03061 /libs/hwui/PathCache.cpp | |
parent | 617d74ac484ae1b8d9593627f1325ee079d7f223 (diff) |
Fix possible rendering issue when drawing a path.
Change-Id: I25f2e609589f0dd9294bcf7930de6398c0d7e377
Diffstat (limited to 'libs/hwui/PathCache.cpp')
-rw-r--r-- | libs/hwui/PathCache.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/hwui/PathCache.cpp b/libs/hwui/PathCache.cpp index 377727b033e9..b58785a6bd04 100644 --- a/libs/hwui/PathCache.cpp +++ b/libs/hwui/PathCache.cpp @@ -173,9 +173,15 @@ PathTexture* PathCache::addTexture(const PathCacheEntry& entry, bitmap.allocPixels(); bitmap.eraseColor(0); + SkPaint pathPaint(*paint); + if (!pathPaint.getXfermode()) { + SkXfermode* mode = SkXfermode::Create(SkXfermode::kSrc_Mode); + pathPaint.setXfermode(mode)->safeUnref(); + } + SkCanvas canvas(bitmap); canvas.translate(-bounds.fLeft + offset, -bounds.fTop + offset); - canvas.drawPath(*path, *paint); + canvas.drawPath(*path, pathPaint); generateTexture(bitmap, texture); |