Lots of progress on switching to SkColorSpace rather than SkColorProfileType
Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002
Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170
Review-Url: https://codereview.chromium.org/2069173002
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 40ead74..b80ea44 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -48,17 +48,18 @@
const struct {
SkColorType fColorType;
- SkColorProfileType fProfileType;
+ bool fSRGB;
const char* fName;
} gConfig[] = {
- { kN32_SkColorType, kLinear_SkColorProfileType, "L32" },
- { kN32_SkColorType, kSRGB_SkColorProfileType, "S32" },
- { kRGBA_F16_SkColorType, kLinear_SkColorProfileType, "F16" },
+ { kN32_SkColorType, false, "L32" },
+ { kN32_SkColorType, true, "S32" },
+ { kRGBA_F16_SkColorType, false, "F16" },
};
static const char* find_config_name(const SkImageInfo& info) {
for (const auto& config : gConfig) {
- if (config.fColorType == info.colorType() && config.fProfileType == info.profileType()) {
+ if (config.fColorType == info.colorType() &&
+ config.fSRGB == (info.colorSpace() != nullptr)) {
return config.fName;
}
}
@@ -1532,7 +1533,9 @@
return true;
}
if (SkOSMenu::FindListIndex(evt, "ColorType", &selected)) {
- this->setDeviceColorType(gConfig[selected].fColorType, gConfig[selected].fProfileType);
+ auto srgbColorSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named);
+ this->setDeviceColorType(gConfig[selected].fColorType,
+ gConfig[selected].fSRGB ? srgbColorSpace : nullptr);
return true;
}
if (SkOSMenu::FindSwitchState(evt, "Slide Show", nullptr)) {
@@ -1747,8 +1750,8 @@
this->inval(nullptr);
}
-void SampleWindow::setDeviceColorType(SkColorType ct, SkColorProfileType pt) {
- this->setColorType(ct, pt);
+void SampleWindow::setDeviceColorType(SkColorType ct, sk_sp<SkColorSpace> cs) {
+ this->setColorType(ct, std::move(cs));
fDevManager->tearDownBackend(this);
fDevManager->setUpBackend(this, fMSAASampleCount, fDeepColor);