From e077e0683a6fe79f71f3e3762edb259941431ada Mon Sep 17 00:00:00 2001 From: msarett Date: Tue, 24 May 2016 10:16:53 -0700 Subject: 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 --- src/core/SkColorSpace.cpp | 18 +++++++++--------- src/core/SkColorSpace_Base.h | 3 ++- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'src') 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 gammas, const SkMatrix44& toXYZD50, Named named) : INHERITED(kNonStandard_GammaNamed, toXYZD50, named) - , fGammas(gammas) + , fGammas(std::move(gammas)) {} SkColorSpace_Base::SkColorSpace_Base(sk_sp 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 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::NewRGB(float gammaVals[3], const SkMatrix44& toXYZD50) { +sk_sp SkColorSpace::NewRGB(const float gammaVals[3], const SkMatrix44& toXYZD50) { sk_sp gammas = nullptr; GammaNamed gammaNamed = kNonStandard_GammaNamed; @@ -795,7 +795,8 @@ sk_sp SkColorSpace::NewICC(const void* base, size_t len) { gammaVals[2] = gammas->fBlue.fValue; return SkColorSpace::NewRGB(gammaVals, mat); } else { - return sk_sp(new SkColorSpace_Base(gammas, mat, kUnknown_Named)); + return sk_sp(new SkColorSpace_Base(std::move(gammas), mat, + kUnknown_Named)); } } @@ -813,8 +814,8 @@ sk_sp SkColorSpace::NewICC(const void* base, size_t len) { sk_sp gammas(new SkGammas(std::move(curves[0]), std::move(curves[1]), std::move(curves[2]))); if (colorLUT->fTable) { - return sk_sp(new SkColorSpace_Base(colorLUT.release(), gammas, - toXYZ)); + return sk_sp(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::NewICC(const void* base, size_t len) { gammaVals[2] = gammas->fBlue.fValue; return SkColorSpace::NewRGB(gammaVals, toXYZ); } else { - return sk_sp(new SkColorSpace_Base(gammas, toXYZ, + return sk_sp(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& gammas() const { return fGammas; } private: -- cgit v1.2.3