aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-05-24 10:16:53 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-05-24 10:16:53 -0700
commite077e0683a6fe79f71f3e3762edb259941431ada (patch)
tree09e19e65e5e3776c6fe17dc7496fc122e09bd35c /src
parent7dd44673e0d8f803f293ded4bc4f7d6a55d460dd (diff)
SkColorSpace tweaks
***Move includes to the correct file ***Add "const" ***Use std::move for more efficient refs and unrefs BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2005263002 Review-Url: https://codereview.chromium.org/2005263002
Diffstat (limited to 'src')
-rw-r--r--src/core/SkColorSpace.cpp18
-rw-r--r--src/core/SkColorSpace_Base.h3
2 files changed, 11 insertions, 10 deletions
diff --git a/src/core/SkColorSpace.cpp b/src/core/SkColorSpace.cpp
index 8f67a7f958..0a543bb839 100644
--- a/src/core/SkColorSpace.cpp
+++ b/src/core/SkColorSpace.cpp
@@ -24,20 +24,20 @@ SkColorSpace::SkColorSpace(GammaNamed gammaNamed, const SkMatrix44& toXYZD50, Na
SkColorSpace_Base::SkColorSpace_Base(sk_sp<SkGammas> gammas, const SkMatrix44& toXYZD50,
Named named)
: INHERITED(kNonStandard_GammaNamed, toXYZD50, named)
- , fGammas(gammas)
+ , fGammas(std::move(gammas))
{}
SkColorSpace_Base::SkColorSpace_Base(sk_sp<SkGammas> gammas, GammaNamed gammaNamed,
const SkMatrix44& toXYZD50, Named named)
: INHERITED(gammaNamed, toXYZD50, named)
- , fGammas(gammas)
+ , fGammas(std::move(gammas))
{}
SkColorSpace_Base::SkColorSpace_Base(SkColorLookUpTable* colorLUT, sk_sp<SkGammas> gammas,
const SkMatrix44& toXYZD50)
: INHERITED(kNonStandard_GammaNamed, toXYZD50, kUnknown_Named)
, fColorLUT(colorLUT)
- , fGammas(gammas)
+ , fGammas(std::move(gammas))
{}
const float gSRGB_toXYZD50[] {
@@ -82,7 +82,7 @@ static SkGammas* g2Dot2CurveGammas;
static SkOnce gLinearGammasOnce;
static SkGammas* gLinearGammas;
-sk_sp<SkColorSpace> SkColorSpace::NewRGB(float gammaVals[3], const SkMatrix44& toXYZD50) {
+sk_sp<SkColorSpace> SkColorSpace::NewRGB(const float gammaVals[3], const SkMatrix44& toXYZD50) {
sk_sp<SkGammas> gammas = nullptr;
GammaNamed gammaNamed = kNonStandard_GammaNamed;
@@ -795,7 +795,8 @@ sk_sp<SkColorSpace> SkColorSpace::NewICC(const void* base, size_t len) {
gammaVals[2] = gammas->fBlue.fValue;
return SkColorSpace::NewRGB(gammaVals, mat);
} else {
- return sk_sp<SkColorSpace>(new SkColorSpace_Base(gammas, mat, kUnknown_Named));
+ return sk_sp<SkColorSpace>(new SkColorSpace_Base(std::move(gammas), mat,
+ kUnknown_Named));
}
}
@@ -813,8 +814,8 @@ sk_sp<SkColorSpace> SkColorSpace::NewICC(const void* base, size_t len) {
sk_sp<SkGammas> gammas(new SkGammas(std::move(curves[0]), std::move(curves[1]),
std::move(curves[2])));
if (colorLUT->fTable) {
- return sk_sp<SkColorSpace>(new SkColorSpace_Base(colorLUT.release(), gammas,
- toXYZ));
+ return sk_sp<SkColorSpace>(new SkColorSpace_Base(colorLUT.release(),
+ std::move(gammas), toXYZ));
} else if (gammas->isValues()) {
// When we have values, take advantage of the NewFromRGB initializer.
// This allows us to check for canonical sRGB and Adobe RGB.
@@ -824,11 +825,10 @@ sk_sp<SkColorSpace> SkColorSpace::NewICC(const void* base, size_t len) {
gammaVals[2] = gammas->fBlue.fValue;
return SkColorSpace::NewRGB(gammaVals, toXYZ);
} else {
- return sk_sp<SkColorSpace>(new SkColorSpace_Base(gammas, toXYZ,
+ return sk_sp<SkColorSpace>(new SkColorSpace_Base(std::move(gammas), toXYZ,
kUnknown_Named));
}
}
-
}
default:
break;
diff --git a/src/core/SkColorSpace_Base.h b/src/core/SkColorSpace_Base.h
index 63588c42ae..535ec3b527 100644
--- a/src/core/SkColorSpace_Base.h
+++ b/src/core/SkColorSpace_Base.h
@@ -9,6 +9,7 @@
#define SkColorSpace_Base_DEFINED
#include "SkColorSpace.h"
+#include "SkTemplates.h"
struct SkGammaCurve {
bool isValue() const {
@@ -113,7 +114,7 @@ struct SkColorLookUpTable {
class SkColorSpace_Base : public SkColorSpace {
public:
- SkGammas* gammas() const { return fGammas.get(); }
+ const sk_sp<SkGammas>& gammas() const { return fGammas; }
private: