aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-06-12 15:20:33 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-12 19:44:38 +0000
commitb1e6cfdb28b7a3db9ab64f90a709df725c1a9c43 (patch)
tree083c35ede24195cb844f93baee2c70548c7669ea /src
parent9bada5475f11c796a4e10845d86068218fa84bc8 (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')
-rw-r--r--src/core/SkColorSpace_A2B.h4
-rw-r--r--src/core/SkColorSpace_Base.h4
-rw-r--r--src/core/SkColorSpace_XYZ.cpp8
-rw-r--r--src/core/SkColorSpace_XYZ.h4
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; }