diff options
-rw-r--r-- | include/core/SkColorSpace.h | 11 | ||||
-rw-r--r-- | src/core/SkColorSpace.cpp | 18 | ||||
-rw-r--r-- | src/core/SkColorSpace_Base.h | 3 | ||||
-rw-r--r-- | tests/ColorSpaceTest.cpp | 2 |
4 files changed, 17 insertions, 17 deletions
diff --git a/include/core/SkColorSpace.h b/include/core/SkColorSpace.h index 9630fe4c25..f942780b7c 100644 --- a/include/core/SkColorSpace.h +++ b/include/core/SkColorSpace.h @@ -10,7 +10,6 @@ #include "SkMatrix44.h" #include "SkRefCnt.h" -#include "../private/SkTemplates.h" class SkColorSpace : public SkRefCnt { public: @@ -27,7 +26,7 @@ public: /** * Create an SkColorSpace from the src gamma and a transform from src gamut to D50 XYZ. */ - static sk_sp<SkColorSpace> NewRGB(float gammas[3], const SkMatrix44& toXYZD50); + static sk_sp<SkColorSpace> NewRGB(const float gammas[3], const SkMatrix44& toXYZD50); /** * Create a common, named SkColorSpace. @@ -61,15 +60,15 @@ public: /** * Returns the matrix used to transform src gamut to XYZ D50. */ - SkMatrix44 xyz() const { return fToXYZD50; } + const SkMatrix44& xyz() const { return fToXYZD50; } protected: SkColorSpace(GammaNamed gammaNamed, const SkMatrix44& toXYZD50, Named named); - const GammaNamed fGammaNamed; - const SkMatrix44 fToXYZD50; - const Named fNamed; + const GammaNamed fGammaNamed; + const SkMatrix44 fToXYZD50; + const Named fNamed; }; #endif 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: diff --git a/tests/ColorSpaceTest.cpp b/tests/ColorSpaceTest.cpp index 097ca0929a..da69ea7e0f 100644 --- a/tests/ColorSpaceTest.cpp +++ b/tests/ColorSpaceTest.cpp @@ -21,7 +21,7 @@ static void test_space(skiatest::Reporter* r, SkColorSpace* space, const float red[], const float green[], const float blue[], const float expectedGammas[]) { - SkGammas* gammas = as_CSB(space)->gammas(); + const sk_sp<SkGammas>& gammas = as_CSB(space)->gammas(); REPORTER_ASSERT(r, almost_equal(expectedGammas[0], gammas->fRed.fValue)); REPORTER_ASSERT(r, almost_equal(expectedGammas[1], gammas->fGreen.fValue)); REPORTER_ASSERT(r, almost_equal(expectedGammas[2], gammas->fBlue.fValue)); |