Index: samplecode/SampleApp.cpp |
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp |
index 40ead7482f81457b8166b638309822ad7c922eee..b80ea44d30df6bd900c213fb26530c001650f597 100644 |
--- a/samplecode/SampleApp.cpp |
+++ b/samplecode/SampleApp.cpp |
@@ -48,17 +48,18 @@ class GrContext; |
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 @@ bool SampleWindow::onEvent(const SkEvent& evt) { |
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 @@ void SampleWindow::setDeviceType(DeviceType type) { |
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); |