diff options
author | 2017-06-12 15:20:33 -0400 | |
---|---|---|
committer | 2017-06-12 19:44:38 +0000 | |
commit | b1e6cfdb28b7a3db9ab64f90a709df725c1a9c43 (patch) | |
tree | 083c35ede24195cb844f93baee2c70548c7669ea /src/core | |
parent | 9bada5475f11c796a4e10845d86068218fa84bc8 (diff) |
make make{SRGB,Linear}Gamma() const
Change-Id: If20a43a905ae65643d071978b345d9ff09c04cf1
Reviewed-on: https://skia-review.googlesource.com/19541
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkColorSpace_A2B.h | 4 | ||||
-rw-r--r-- | src/core/SkColorSpace_Base.h | 4 | ||||
-rw-r--r-- | src/core/SkColorSpace_XYZ.cpp | 8 | ||||
-rw-r--r-- | src/core/SkColorSpace_XYZ.h | 4 |
4 files changed, 10 insertions, 10 deletions
diff --git a/src/core/SkColorSpace_A2B.h b/src/core/SkColorSpace_A2B.h index 610f07e9d0..5f2800796a 100644 --- a/src/core/SkColorSpace_A2B.h +++ b/src/core/SkColorSpace_A2B.h @@ -54,13 +54,13 @@ public: bool onIsCMYK() const override { return kCMYK_ICCTypeFlag == fICCType; } - sk_sp<SkColorSpace> makeLinearGamma() override { + sk_sp<SkColorSpace> makeLinearGamma() const override { // TODO: Analyze the extrema of our projection into XYZ and use suitable primaries? // For now, just fall back to a default, because we don't have a good answer. return SkColorSpace::MakeSRGBLinear(); } - sk_sp<SkColorSpace> makeSRGBGamma() override { + sk_sp<SkColorSpace> makeSRGBGamma() const override { // See comment in makeLinearGamma return SkColorSpace::MakeSRGB(); } diff --git a/src/core/SkColorSpace_Base.h b/src/core/SkColorSpace_Base.h index 9055ccebb3..015e95f8a1 100644 --- a/src/core/SkColorSpace_Base.h +++ b/src/core/SkColorSpace_Base.h @@ -171,14 +171,14 @@ public: * For color spaces whose gamut can not be described in terms of XYZ D50, returns * linear sRGB. */ - virtual sk_sp<SkColorSpace> makeLinearGamma() = 0; + virtual sk_sp<SkColorSpace> makeLinearGamma() const = 0; /** * Returns a color space with the same gamut as this one, with with the sRGB transfer * function. For color spaces whose gamut can not be described in terms of XYZ D50, returns * sRGB. */ - virtual sk_sp<SkColorSpace> makeSRGBGamma() = 0; + virtual sk_sp<SkColorSpace> makeSRGBGamma() const = 0; enum class Type : uint8_t { kXYZ, diff --git a/src/core/SkColorSpace_XYZ.cpp b/src/core/SkColorSpace_XYZ.cpp index baf99694b3..9b650b32b4 100644 --- a/src/core/SkColorSpace_XYZ.cpp +++ b/src/core/SkColorSpace_XYZ.cpp @@ -82,16 +82,16 @@ bool SkColorSpace_XYZ::onIsNumericalTransferFn(SkColorSpaceTransferFn* coeffs) c return false; } -sk_sp<SkColorSpace> SkColorSpace_XYZ::makeLinearGamma() { +sk_sp<SkColorSpace> SkColorSpace_XYZ::makeLinearGamma() const { if (this->gammaIsLinear()) { - return sk_ref_sp(this); + return sk_ref_sp(const_cast<SkColorSpace_XYZ*>(this)); } return SkColorSpace_Base::MakeRGB(kLinear_SkGammaNamed, fToXYZD50); } -sk_sp<SkColorSpace> SkColorSpace_XYZ::makeSRGBGamma() { +sk_sp<SkColorSpace> SkColorSpace_XYZ::makeSRGBGamma() const { if (this->gammaCloseToSRGB()) { - return sk_ref_sp(this); + return sk_ref_sp(const_cast<SkColorSpace_XYZ*>(this)); } return SkColorSpace_Base::MakeRGB(kSRGB_SkGammaNamed, fToXYZD50); } diff --git a/src/core/SkColorSpace_XYZ.h b/src/core/SkColorSpace_XYZ.h index d0ce0f813e..1dd3ef3202 100644 --- a/src/core/SkColorSpace_XYZ.h +++ b/src/core/SkColorSpace_XYZ.h @@ -27,8 +27,8 @@ public: Type type() const override { return Type::kXYZ; } - sk_sp<SkColorSpace> makeLinearGamma() override; - sk_sp<SkColorSpace> makeSRGBGamma() override; + sk_sp<SkColorSpace> makeLinearGamma() const override; + sk_sp<SkColorSpace> makeSRGBGamma() const override; SkGammaNamed gammaNamed() const { return fGammaNamed; } |