aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/makecolorspace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/makecolorspace.cpp')
-rw-r--r--gm/makecolorspace.cpp34
1 files changed, 14 insertions, 20 deletions
diff --git a/gm/makecolorspace.cpp b/gm/makecolorspace.cpp
index cd957c3281..ec04b74180 100644
--- a/gm/makecolorspace.cpp
+++ b/gm/makecolorspace.cpp
@@ -11,22 +11,19 @@
#include "SkImage.h"
#include "SkImagePriv.h"
-sk_sp<SkImage> make_raster_image(const char* path, SkTransferFunctionBehavior behavior) {
+sk_sp<SkImage> make_raster_image(const char* path) {
sk_sp<SkData> resourceData = GetResourceAsData(path);
std::unique_ptr<SkCodec> codec = SkCodec::MakeFromData(resourceData);
SkBitmap bitmap;
bitmap.allocPixels(codec->getInfo());
- SkCodec::Options opts;
- opts.fPremulBehavior = behavior;
- codec->getPixels(codec->getInfo(), bitmap.getPixels(), bitmap.rowBytes(), &opts);
+ codec->getPixels(codec->getInfo(), bitmap.getPixels(), bitmap.rowBytes());
return SkImage::MakeFromBitmap(bitmap);
}
-sk_sp<SkImage> make_color_space(sk_sp<SkImage> orig, sk_sp<SkColorSpace> colorSpace,
- SkTransferFunctionBehavior behavior) {
- sk_sp<SkImage> xform = orig->makeColorSpace(colorSpace, behavior);
+sk_sp<SkImage> make_color_space(sk_sp<SkImage> orig, sk_sp<SkColorSpace> colorSpace) {
+ sk_sp<SkImage> xform = orig->makeColorSpace(colorSpace);
// Assign an sRGB color space on the xformed image, so we can see the effects of the xform
// when we draw.
@@ -51,9 +48,6 @@ protected:
}
void onDraw(SkCanvas* canvas) override {
- SkTransferFunctionBehavior behavior = canvas->imageInfo().colorSpace() ?
- SkTransferFunctionBehavior::kRespect : SkTransferFunctionBehavior::kIgnore;
-
sk_sp<SkColorSpace> wideGamut = SkColorSpace::MakeRGB(SkColorSpace::kSRGB_RenderTargetGamma,
SkColorSpace::kAdobeRGB_Gamut);
sk_sp<SkColorSpace> wideGamutLinear = wideGamut->makeLinearGamma();
@@ -62,22 +56,22 @@ protected:
sk_sp<SkImage> opaqueImage = GetResourceAsImage("images/mandrill_128.png");
sk_sp<SkImage> premulImage = GetResourceAsImage("images/color_wheel.png");
canvas->drawImage(opaqueImage, 0.0f, 0.0f);
- canvas->drawImage(make_color_space(opaqueImage, wideGamut, behavior), 128.0f, 0.0f);
- canvas->drawImage(make_color_space(opaqueImage, wideGamutLinear, behavior), 256.0f, 0.0f);
+ canvas->drawImage(make_color_space(opaqueImage, wideGamut), 128.0f, 0.0f);
+ canvas->drawImage(make_color_space(opaqueImage, wideGamutLinear), 256.0f, 0.0f);
canvas->drawImage(premulImage, 0.0f, 128.0f);
- canvas->drawImage(make_color_space(premulImage, wideGamut, behavior), 128.0f, 128.0f);
- canvas->drawImage(make_color_space(premulImage, wideGamutLinear, behavior), 256.0f, 128.0f);
+ canvas->drawImage(make_color_space(premulImage, wideGamut), 128.0f, 128.0f);
+ canvas->drawImage(make_color_space(premulImage, wideGamutLinear), 256.0f, 128.0f);
canvas->translate(0.0f, 256.0f);
// Raster images
- opaqueImage = make_raster_image("images/mandrill_128.png", behavior);
- premulImage = make_raster_image("images/color_wheel.png", behavior);
+ opaqueImage = make_raster_image("images/mandrill_128.png");
+ premulImage = make_raster_image("images/color_wheel.png");
canvas->drawImage(opaqueImage, 0.0f, 0.0f);
- canvas->drawImage(make_color_space(opaqueImage, wideGamut, behavior), 128.0f, 0.0f);
- canvas->drawImage(make_color_space(opaqueImage, wideGamutLinear, behavior), 256.0f, 0.0f);
+ canvas->drawImage(make_color_space(opaqueImage, wideGamut), 128.0f, 0.0f);
+ canvas->drawImage(make_color_space(opaqueImage, wideGamutLinear), 256.0f, 0.0f);
canvas->drawImage(premulImage, 0.0f, 128.0f);
- canvas->drawImage(make_color_space(premulImage, wideGamut, behavior), 128.0f, 128.0f);
- canvas->drawImage(make_color_space(premulImage, wideGamutLinear, behavior), 256.0f, 128.0f);
+ canvas->drawImage(make_color_space(premulImage, wideGamut), 128.0f, 128.0f);
+ canvas->drawImage(make_color_space(premulImage, wideGamutLinear), 256.0f, 128.0f);
}
private: