From b1e6cfdb28b7a3db9ab64f90a709df725c1a9c43 Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Mon, 12 Jun 2017 15:20:33 -0400 Subject: make make{SRGB,Linear}Gamma() const Change-Id: If20a43a905ae65643d071978b345d9ff09c04cf1 Reviewed-on: https://skia-review.googlesource.com/19541 Reviewed-by: Matt Sarett Commit-Queue: Mike Klein --- src/core/SkColorSpace_A2B.h | 4 ++-- src/core/SkColorSpace_Base.h | 4 ++-- src/core/SkColorSpace_XYZ.cpp | 8 ++++---- src/core/SkColorSpace_XYZ.h | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src') 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 makeLinearGamma() override { + sk_sp 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 makeSRGBGamma() override { + sk_sp 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 makeLinearGamma() = 0; + virtual sk_sp 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 makeSRGBGamma() = 0; + virtual sk_sp 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_XYZ::makeLinearGamma() { +sk_sp SkColorSpace_XYZ::makeLinearGamma() const { if (this->gammaIsLinear()) { - return sk_ref_sp(this); + return sk_ref_sp(const_cast(this)); } return SkColorSpace_Base::MakeRGB(kLinear_SkGammaNamed, fToXYZD50); } -sk_sp SkColorSpace_XYZ::makeSRGBGamma() { +sk_sp SkColorSpace_XYZ::makeSRGBGamma() const { if (this->gammaCloseToSRGB()) { - return sk_ref_sp(this); + return sk_ref_sp(const_cast(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 makeLinearGamma() override; - sk_sp makeSRGBGamma() override; + sk_sp makeLinearGamma() const override; + sk_sp makeSRGBGamma() const override; SkGammaNamed gammaNamed() const { return fGammaNamed; } -- cgit v1.2.3