diff options
author | 2016-11-09 13:59:58 -0500 | |
---|---|---|
committer | 2016-11-09 19:40:06 +0000 | |
commit | 824075071885b6b741c141cbe2134d8345d34589 (patch) | |
tree | 828b9fd105e92a6ff21b0dc942da6c015ea8ac73 /src/core/SkCanvas.cpp | |
parent | c78eff97549e8e346394d3e228395ceb8a467b35 (diff) |
Change SkCanvas to *not* inherit from SkRefCnt
Definitely tricky for classes like SkNWayCanvas, where the caller (today)
need not pay attention to ownership of the canvases it gave the NWay
(after this CL, the caller *must* managed ownership)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4441
DOCS_PREVIEW= https://skia.org/?cl=4441
Change-Id: Ib1ac07a3cdf0686d78e7aaa4735d45cc90bea081
Reviewed-on: https://skia-review.googlesource.com/4441
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/core/SkCanvas.cpp')
-rw-r--r-- | src/core/SkCanvas.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index cd4dcbc2a5..a8d73a982a 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -19,6 +19,7 @@ #include "SkImageFilter.h" #include "SkImageFilterCache.h" #include "SkLatticeIter.h" +#include "SkMakeUnique.h" #include "SkMatrixUtils.h" #include "SkMetaData.h" #include "SkNx.h" @@ -3323,7 +3324,8 @@ static bool supported_for_raster_canvas(const SkImageInfo& info) { return true; } -SkCanvas* SkCanvas::NewRasterDirect(const SkImageInfo& info, void* pixels, size_t rowBytes) { +std::unique_ptr<SkCanvas> SkCanvas::MakeRasterDirect(const SkImageInfo& info, void* pixels, + size_t rowBytes) { if (!supported_for_raster_canvas(info)) { return nullptr; } @@ -3332,7 +3334,7 @@ SkCanvas* SkCanvas::NewRasterDirect(const SkImageInfo& info, void* pixels, size_ if (!bitmap.installPixels(info, pixels, rowBytes)) { return nullptr; } - return new SkCanvas(bitmap); + return skstd::make_unique<SkCanvas>(bitmap); } /////////////////////////////////////////////////////////////////////////////// |