Chromium Code Reviews| Index: samplecode/SampleApp.cpp |
| diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp |
| index 971044cf87250985055777b54ec993c546d3f28b..e639433421fc48c716b271bab3035eb922b072e0 100644 |
| --- a/samplecode/SampleApp.cpp |
| +++ b/samplecode/SampleApp.cpp |
| @@ -48,17 +48,18 @@ class GrContext; |
| const struct { |
| SkColorType fColorType; |
| - SkColorProfileType fProfileType; |
| + bool fSRGB; |
|
Brian Osman
2016/06/16 15:15:06
Not using sk_sp<SkColorSpace> here to avoid static
msarett
2016/06/16 15:56:04
Acknowledged.
|
| 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; |
| } |
| } |
| @@ -1635,7 +1636,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)) { |
| @@ -1850,8 +1853,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); |