sk_sp<SkShader> shaders[] {
SkShader::MakeColorShader(c4, nullptr),
SkShader::MakeColorShader(c4, SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named)),
- SkShader::MakeColorShader(c4, SkColorSpace::NewRGB(SkColorSpace::kLinear_GammaNamed,
- mat)),
+ SkShader::MakeColorShader(c4,
+ SkColorSpace::NewRGB(SkColorSpace::kLinear_RenderTargetGamma, mat)),
};
canvas->save();
// Use the original canvas' color type, but account for gamma requirements
SkImageInfo origInfo = canvas->imageInfo();
auto srgbCS = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named);
- auto wideCS = SkColorSpace::NewRGB(SkColorSpace::kSRGB_GammaNamed, wideGamutRGB_toXYZD50);
+ auto wideCS = SkColorSpace::NewRGB(SkColorSpace::kSRGB_RenderTargetGamma,
+ wideGamutRGB_toXYZD50);
switch (origInfo.colorType()) {
case kRGBA_8888_SkColorType:
case kBGRA_8888_SkColorType:
kAdobeRGB_Named,
};
- enum GammaNamed : uint8_t {
- kLinear_GammaNamed,
+ enum RenderTargetGamma : uint8_t {
+ kLinear_RenderTargetGamma,
/**
* Transfer function is the canonical sRGB curve, which has a short linear segment
* followed by a 2.4f exponential.
*/
- kSRGB_GammaNamed,
+ kSRGB_RenderTargetGamma,
+
+ // DO NOT USE: Being deleted.
+ kLinear_GammaNamed = kLinear_RenderTargetGamma,
};
/**
- * Create an SkColorSpace from the src gamma and a transform from src gamut to D50 XYZ.
+ * Create an SkColorSpace from a transfer function and a color gamut transform to D50 XYZ.
*/
- static sk_sp<SkColorSpace> NewRGB(GammaNamed gammaNamed, const SkMatrix44& toXYZD50);
+ static sk_sp<SkColorSpace> NewRGB(RenderTargetGamma gamma, const SkMatrix44& toXYZD50);
/**
* Create a common, named SkColorSpace.
// Default to sRGB gamma if the image has color space information,
// but does not specify gamma.
- return SkColorSpace::NewRGB(SkColorSpace::kSRGB_GammaNamed, toXYZD50);
+ return SkColorSpace::NewRGB(SkColorSpace::kSRGB_RenderTargetGamma, toXYZD50);
}
// Last, check for gamma.
return sk_sp<SkColorSpace>(new SkColorSpace_Base(gammaNamed, toXYZD50));
}
-sk_sp<SkColorSpace> SkColorSpace::NewRGB(GammaNamed gammaNamed, const SkMatrix44& toXYZD50) {
- switch (gammaNamed) {
- case kLinear_GammaNamed:
+sk_sp<SkColorSpace> SkColorSpace::NewRGB(RenderTargetGamma gamma, const SkMatrix44& toXYZD50) {
+ switch (gamma) {
+ case kLinear_RenderTargetGamma:
return SkColorSpace_Base::NewRGB(kLinear_SkGammaNamed, toXYZD50);
- case kSRGB_GammaNamed:
+ case kSRGB_RenderTargetGamma:
return SkColorSpace_Base::NewRGB(kSRGB_SkGammaNamed, toXYZD50);
default:
return nullptr;
// Create an sRGB color space by value
SkMatrix44 srgbToxyzD50(SkMatrix44::kUninitialized_Constructor);
srgbToxyzD50.set3x3RowMajorf(g_sRGB_XYZ);
- sk_sp<SkColorSpace> rgbColorSpace = SkColorSpace::NewRGB(SkColorSpace::kSRGB_GammaNamed,
- srgbToxyzD50);
+ sk_sp<SkColorSpace> rgbColorSpace =
+ SkColorSpace::NewRGB(SkColorSpace::kSRGB_RenderTargetGamma, srgbToxyzD50);
REPORTER_ASSERT(r, rgbColorSpace == namedColorSpace);
// Change a single value from the sRGB matrix
srgbToxyzD50.set(2, 2, 0.5f);
- sk_sp<SkColorSpace> strangeColorSpace = SkColorSpace::NewRGB(SkColorSpace::kSRGB_GammaNamed,
- srgbToxyzD50);
+ sk_sp<SkColorSpace> strangeColorSpace =
+ SkColorSpace::NewRGB(SkColorSpace::kSRGB_RenderTargetGamma, srgbToxyzD50);
REPORTER_ASSERT(r, strangeColorSpace != namedColorSpace);
}