| Index: gm/color4f.cpp
|
| diff --git a/gm/color4f.cpp b/gm/color4f.cpp
|
| index 98ce0824cca6c6231b9c6619d0b91de15d045357..e912654bc911fd1a95f40741b41e0b38bd129c4d 100644
|
| --- a/gm/color4f.cpp
|
| +++ b/gm/color4f.cpp
|
| @@ -32,10 +32,23 @@ static SkColorFilter* make_cf0() {
|
| return SkColorMatrixFilter::Create(cm);
|
| }
|
|
|
| +static SkColorFilter* make_cf1() {
|
| + SkColorMatrix cm;
|
| + cm.setSaturation(0.75f);
|
| + SkAutoTUnref<SkColorFilter> a(SkColorMatrixFilter::Create(cm));
|
| + // CreateComposedFilter will try to concat these two matrices, resulting in a single
|
| + // filter (which is good for speed). For this test, we want to force a real compose of
|
| + // these two, so our inner filter has a scale-up, which disables the optimization of
|
| + // combining the two matrices.
|
| + cm.setScale(1.1f, 0.9f, 1);
|
| + SkAutoTUnref<SkColorFilter> b(SkColorMatrixFilter::Create(cm));
|
| + return SkColorFilter::CreateComposeFilter(a, b);
|
| +}
|
| +
|
| static void draw_into_canvas(SkCanvas* canvas) {
|
| const SkRect r = SkRect::MakeWH(100, 100);
|
| SkShader* (*shaders[])() { make_opaque_color, make_alpha_color };
|
| - SkColorFilter* (*filters[])() { make_cf_null, make_cf0 };
|
| + SkColorFilter* (*filters[])() { make_cf_null, make_cf0, make_cf1 };
|
|
|
| SkPaint paint;
|
| for (auto shProc : shaders) {
|
| @@ -48,7 +61,7 @@ static void draw_into_canvas(SkCanvas* canvas) {
|
| }
|
| }
|
|
|
| -DEF_SIMPLE_GM(color4f, canvas, 510, 250) {
|
| +DEF_SIMPLE_GM(color4f, canvas, 620, 260) {
|
| canvas->translate(20, 20);
|
|
|
| SkPaint bg;
|
| @@ -58,7 +71,7 @@ DEF_SIMPLE_GM(color4f, canvas, 510, 250) {
|
|
|
| SkColorProfileType const profiles[] { kLinear_SkColorProfileType, kSRGB_SkColorProfileType };
|
| for (auto profile : profiles) {
|
| - const SkImageInfo info = SkImageInfo::Make(500, 100, kN32_SkColorType, kPremul_SkAlphaType,
|
| + const SkImageInfo info = SkImageInfo::Make(600, 100, kN32_SkColorType, kPremul_SkAlphaType,
|
| profile);
|
| SkAutoTUnref<SkSurface> surface(SkSurface::NewRaster(info));
|
| surface->getCanvas()->drawPaint(bg);
|
|
|