aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/colorspacexform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/colorspacexform.cpp')
-rw-r--r--gm/colorspacexform.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/gm/colorspacexform.cpp b/gm/colorspacexform.cpp
index dfb343778c..4657f6ad11 100644
--- a/gm/colorspacexform.cpp
+++ b/gm/colorspacexform.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright 2013 Google Inc.
+ * Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
@@ -7,6 +7,7 @@
#include "gm.h"
#include "SkColor.h"
+#include "SkColorSpace_Base.h"
#include "SkColorSpaceXform.h"
#include "SkRect.h"
@@ -35,15 +36,22 @@ protected:
SkMatrix44 wideGamut(SkMatrix44::kUninitialized_Constructor);
wideGamut.set3x3RowMajorf(kWideGamutRGB_toXYZD50);
+ // Test BGRA input.
sk_sp<SkColorSpace> srcSpace = SkColorSpace::MakeSRGB();
sk_sp<SkColorSpace> dstSpace =
SkColorSpace::MakeRGB(SkColorSpace::kLinear_RenderTargetGamma, wideGamut);
std::unique_ptr<SkColorSpaceXform> xform = SkColorSpaceXform::New(srcSpace.get(),
dstSpace.get());
-
- xform->apply(SkColorSpaceXform::kRGBA_F32_ColorFormat, fWideGamutColors,
+ xform->apply(SkColorSpaceXform::kRGBA_F32_ColorFormat, fWideGamutColors0,
SkColorSpaceXform::kBGRA_8888_ColorFormat, colors, kNumColors,
kOpaque_SkAlphaType);
+
+ // Test F32 input.
+ srcSpace = as_CSB(srcSpace)->makeLinearGamma();
+ xform = SkColorSpaceXform::New(srcSpace.get(), dstSpace.get());
+ xform->apply(SkColorSpaceXform::kRGBA_F32_ColorFormat, fWideGamutColors1,
+ SkColorSpaceXform::kRGBA_F32_ColorFormat, fSRGBColors, kNumColors,
+ kOpaque_SkAlphaType);
}
SkString onShortName() override {
@@ -51,7 +59,7 @@ protected:
}
SkISize onISize() override {
- return SkISize::Make(500, 200);
+ return SkISize::Make(500, 300);
}
void onDraw(SkCanvas* canvas) override {
@@ -73,14 +81,17 @@ protected:
// Wide gamut colors should appear darker - we are simulating a more intense display.
drawColors(fSRGBColors);
canvas->translate(0.0f, 100.0f);
- drawColors(fWideGamutColors);
+ drawColors(fWideGamutColors0);
+ canvas->translate(0.0f, 100.0f);
+ drawColors(fWideGamutColors1);
}
private:
static constexpr int kNumColors = 10;
SkColor4f fSRGBColors[kNumColors];
- SkColor4f fWideGamutColors[kNumColors];
+ SkColor4f fWideGamutColors0[kNumColors];
+ SkColor4f fWideGamutColors1[kNumColors];
typedef skiagm::GM INHERITED;
};