diff options
author | Mike Reed <reed@google.com> | 2018-01-02 10:16:12 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-02 15:43:10 +0000 |
commit | b950b5975bbbf22fec9b41b576d4d43ddfd6a208 (patch) | |
tree | 41c76ef314d1b9f67bf6339570c23b6fffdfbe79 /src/image/SkImage.cpp | |
parent | 8716b50aae949d5ad3af680c2530e9285f6491cc (diff) |
share impl between makeNonTexture and makeRaster
Bug: skia:
Change-Id: I1042e25c28b60e99b6ced44b9971d51a3ac239ee
Reviewed-on: https://skia-review.googlesource.com/90201
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/image/SkImage.cpp')
-rw-r--r-- | src/image/SkImage.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 6b35a12ff0..e618f7f454 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -313,6 +313,13 @@ sk_sp<SkImage> SkImage::makeColorSpace(sk_sp<SkColorSpace> target, return as_IB(this)->onMakeColorSpace(std::move(target), targetColorType, premulBehavior); } +sk_sp<SkImage> SkImage::makeNonTextureImage() const { + if (!this->isTextureBacked()) { + return sk_ref_sp(const_cast<SkImage*>(this)); + } + return this->makeRasterImage(); +} + sk_sp<SkImage> SkImage::makeRasterImage() const { SkPixmap pm; if (this->peekPixels(&pm)) { @@ -411,10 +418,6 @@ sk_sp<SkImage> SkImage::makeTextureImage(GrContext*, SkColorSpace* dstColorSpace return nullptr; } -sk_sp<SkImage> SkImage::makeNonTextureImage() const { - return sk_ref_sp(const_cast<SkImage*>(this)); -} - #endif /////////////////////////////////////////////////////////////////////////////////////////////////// |