From 1b3387b5cfef150c3237c6a8700b2d6f3730e4ce Mon Sep 17 00:00:00 2001 From: Hal Canary Date: Mon, 12 Dec 2016 13:48:12 -0500 Subject: SkBitmap::setPixelRef(): less reference churn BUG=skia: Change-Id: I9657e4af5fcc808f9175ff336155374ccc77999d Reviewed-on: https://skia-review.googlesource.com/5461 Reviewed-by: Mike Reed Commit-Queue: Hal Canary --- include/core/SkBitmapDevice.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'include/core/SkBitmapDevice.h') diff --git a/include/core/SkBitmapDevice.h b/include/core/SkBitmapDevice.h index 17cb9847b1..7ad4abec21 100644 --- a/include/core/SkBitmapDevice.h +++ b/include/core/SkBitmapDevice.h @@ -14,6 +14,7 @@ #include "SkColor.h" #include "SkDevice.h" #include "SkImageInfo.h" +#include "SkPixelRef.h" #include "SkRect.h" #include "SkScalar.h" #include "SkSize.h" @@ -140,10 +141,10 @@ protected: SkPixelRef* getPixelRef() const { return fBitmap.pixelRef(); } // just for subclasses, to assign a custom pixelref - SkPixelRef* setPixelRef(SkPixelRef* pr) { - fBitmap.setPixelRef(pr); - return pr; - } + void setPixelRef(sk_sp pr) { fBitmap.setPixelRef(std::move(pr), 0, 0); } +#ifdef SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF + SkPixelRef* setPixelRef(SkPixelRef* pr) { return fBitmap.setPixelRef(pr); } +#endif bool onReadPixels(const SkImageInfo&, void*, size_t, int x, int y) override; bool onWritePixels(const SkImageInfo&, const void*, size_t, int, int) override; -- cgit v1.2.3