diff options
-rw-r--r-- | dm/DMSrcSink.cpp | 7 | ||||
-rw-r--r-- | src/image/SkSurface_Raster.cpp | 6 |
2 files changed, 6 insertions, 7 deletions
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index 5bc5e5a30d..fa600ff4eb 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -14,6 +14,7 @@ #include "SkDocument.h" #include "SkError.h" #include "SkImageGenerator.h" +#include "SkMallocPixelRef.h" #include "SkMultiPictureDraw.h" #include "SkNullCanvas.h" #include "SkOSFile.h" @@ -973,8 +974,10 @@ Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString*) con SkAlphaType alphaType = kPremul_SkAlphaType; (void)SkColorTypeValidateAlphaType(fColorType, alphaType, &alphaType); - dst->allocPixels(SkImageInfo::Make(size.width(), size.height(), fColorType, alphaType)); - dst->eraseColor(SK_ColorTRANSPARENT); + SkMallocPixelRef::ZeroedPRFactory factory; + dst->allocPixels(SkImageInfo::Make(size.width(), size.height(), fColorType, alphaType), + &factory, + nullptr/*colortable*/); SkCanvas canvas(*dst); return src.draw(&canvas); } diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp index d5593eb1d7..a606656709 100644 --- a/src/image/SkSurface_Raster.cpp +++ b/src/image/SkSurface_Raster.cpp @@ -99,10 +99,6 @@ SkSurface_Raster::SkSurface_Raster(SkPixelRef* pr, const SkSurfaceProps* props) fBitmap.setInfo(info, info.minRowBytes()); fBitmap.setPixelRef(pr); fWeOwnThePixels = true; - - if (!info.isOpaque()) { - fBitmap.eraseColor(SK_ColorTRANSPARENT); - } } SkCanvas* SkSurface_Raster::onNewCanvas() { return new SkCanvas(fBitmap, this->props()); } @@ -185,7 +181,7 @@ SkSurface* SkSurface::NewRaster(const SkImageInfo& info, const SkSurfaceProps* p return nullptr; } - SkAutoTUnref<SkPixelRef> pr(SkMallocPixelRef::NewAllocate(info, 0, nullptr)); + SkAutoTUnref<SkPixelRef> pr(SkMallocPixelRef::NewZeroed(info, 0, nullptr)); if (nullptr == pr.get()) { return nullptr; } |