aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-07-06 15:12:12 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-06 20:18:07 +0000
commit24a2ecfa256042efd57fd97b23dbce5a49b92a94 (patch)
tree80028afe355edd7d3041821d7c681a21dc881535 /src
parent71479b7922d693f4bea5b5985d0422d4567994fc (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.cpp17
-rw-r--r--src/core/SkColorSpaceXformer.h2
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;