return and take SkImageGenerator as unique_ptr
BUG=skia:
Change-Id: I4bc11042dd1dbf1eabd40af206027bc65acc3186
Reviewed-on: https://skia-review.googlesource.com/8444
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/image/SkImage_Generator.cpp b/src/image/SkImage_Generator.cpp
index da9d61a..7e47523 100644
--- a/src/image/SkImage_Generator.cpp
+++ b/src/image/SkImage_Generator.cpp
@@ -93,9 +93,16 @@
return validator ? sk_sp<SkImage>(new SkImage_Generator(&validator)) : nullptr;
}
-sk_sp<SkImage> SkImage::MakeFromGenerator(SkImageGenerator* generator, const SkIRect* subset) {
- SkImageCacherator::Validator validator(SkImageCacherator::SharedGenerator::Make(generator),
- subset);
+sk_sp<SkImage> SkImage::MakeFromGenerator(std::unique_ptr<SkImageGenerator> generator,
+ const SkIRect* subset) {
+ SkImageCacherator::Validator validator(
+ SkImageCacherator::SharedGenerator::Make(std::move(generator)), subset);
return validator ? sk_make_sp<SkImage_Generator>(&validator) : nullptr;
}
+
+#ifdef SK_SUPPORT_BARE_PTR_IMAGEGENERATOR
+sk_sp<SkImage> SkImage::MakeFromGenerator(SkImageGenerator* gen, const SkIRect* subset) {
+ return MakeFromGenerator(std::unique_ptr<SkImageGenerator>(gen), subset);
+}
+#endif