diff options
author | Florin Malita <fmalita@chromium.org> | 2017-07-06 15:12:12 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-06 20:18:07 +0000 |
commit | 24a2ecfa256042efd57fd97b23dbce5a49b92a94 (patch) | |
tree | 80028afe355edd7d3041821d7c681a21dc881535 /src | |
parent | 71479b7922d693f4bea5b5985d0422d4567994fc (diff) |
Minor SkColorSpaceXformer cleanup
Instead of plugging private fields from the factory, pass to ctor.
Change-Id: Iea186e394182bddb6a569de1a05f2e40d6815c80
Reviewed-on: https://skia-review.googlesource.com/21734
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkColorSpaceXformer.cpp | 17 | ||||
-rw-r--r-- | src/core/SkColorSpaceXformer.h | 2 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/core/SkColorSpaceXformer.cpp b/src/core/SkColorSpaceXformer.cpp index 301a7f1e79..71715add87 100644 --- a/src/core/SkColorSpaceXformer.cpp +++ b/src/core/SkColorSpaceXformer.cpp @@ -14,22 +14,23 @@ #include "SkImage_Base.h" #include "SkImageFilter.h" #include "SkImagePriv.h" -#include "SkMakeUnique.h" #include "SkShaderBase.h" +SkColorSpaceXformer::SkColorSpaceXformer(sk_sp<SkColorSpace> dst, + std::unique_ptr<SkColorSpaceXform> fromSRGB) + : fDst(std::move(dst)) + , fFromSRGB(std::move(fromSRGB)) {} + SkColorSpaceXformer::~SkColorSpaceXformer() {} std::unique_ptr<SkColorSpaceXformer> SkColorSpaceXformer::Make(sk_sp<SkColorSpace> dst) { std::unique_ptr<SkColorSpaceXform> fromSRGB = SkColorSpaceXform_Base::New( SkColorSpace::MakeSRGB().get(), dst.get(), SkTransferFunctionBehavior::kIgnore); - if (!fromSRGB) { - return nullptr; - } - auto xformer = std::unique_ptr<SkColorSpaceXformer>(new SkColorSpaceXformer()); - xformer->fDst = std::move(dst); - xformer->fFromSRGB = std::move(fromSRGB); - return xformer; + return fromSRGB + ? std::unique_ptr<SkColorSpaceXformer>(new SkColorSpaceXformer(std::move(dst), + std::move(fromSRGB))) + : nullptr; } sk_sp<SkImage> SkColorSpaceXformer::apply(const SkImage* src) { diff --git a/src/core/SkColorSpaceXformer.h b/src/core/SkColorSpaceXformer.h index 75db04022f..fce8d03e43 100644 --- a/src/core/SkColorSpaceXformer.h +++ b/src/core/SkColorSpaceXformer.h @@ -39,7 +39,7 @@ public: sk_sp<SkColorSpace> dst() const { return fDst; } private: - SkColorSpaceXformer() = default; + SkColorSpaceXformer(sk_sp<SkColorSpace> dst, std::unique_ptr<SkColorSpaceXform> fromSRGB); sk_sp<SkColorSpace> fDst; std::unique_ptr<SkColorSpaceXform> fFromSRGB; |