| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm.h" | 8 #include "gm.h" |
| 9 | 9 |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 colors[0] = SK_ColorRED; | 23 colors[0] = SK_ColorRED; |
| 24 colors[1] = SK_ColorBLUE; | 24 colors[1] = SK_ColorBLUE; |
| 25 auto shaderA = SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShade
r::kClamp_TileMode); | 25 auto shaderA = SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShade
r::kClamp_TileMode); |
| 26 | 26 |
| 27 pts[0].set(0, 0); | 27 pts[0].set(0, 0); |
| 28 pts[1].set(0, SkIntToScalar(100)); | 28 pts[1].set(0, SkIntToScalar(100)); |
| 29 colors[0] = SK_ColorBLACK; | 29 colors[0] = SK_ColorBLACK; |
| 30 colors[1] = SkColorSetARGB(0x80, 0, 0, 0); | 30 colors[1] = SkColorSetARGB(0x80, 0, 0, 0); |
| 31 auto shaderB = SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShade
r::kClamp_TileMode); | 31 auto shaderB = SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShade
r::kClamp_TileMode); |
| 32 | 32 |
| 33 SkAutoTUnref<SkXfermode> xfer(SkXfermode::Create(mode)); | 33 return SkShader::MakeComposeShader(std::move(shaderA), std::move(shaderB), |
| 34 | 34 SkXfermode::Make(mode)); |
| 35 return SkShader::MakeComposeShader(std::move(shaderA), std::move(shaderB), x
fer); | |
| 36 } | 35 } |
| 37 | 36 |
| 38 class ComposeShaderGM : public skiagm::GM { | 37 class ComposeShaderGM : public skiagm::GM { |
| 39 public: | 38 public: |
| 40 ComposeShaderGM() { | 39 ComposeShaderGM() { |
| 41 fShader = make_shader(SkXfermode::kDstIn_Mode); | 40 fShader = make_shader(SkXfermode::kDstIn_Mode); |
| 42 } | 41 } |
| 43 | 42 |
| 44 protected: | 43 protected: |
| 45 SkString onShortName() override { | 44 SkString onShortName() override { |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 | 168 |
| 170 SkString onShortName() override { | 169 SkString onShortName() override { |
| 171 return SkString("composeshader_bitmap"); | 170 return SkString("composeshader_bitmap"); |
| 172 } | 171 } |
| 173 | 172 |
| 174 SkISize onISize() override { | 173 SkISize onISize() override { |
| 175 return SkISize::Make(7 * (squareLength + 5), 2 * (squareLength + 5)); | 174 return SkISize::Make(7 * (squareLength + 5), 2 * (squareLength + 5)); |
| 176 } | 175 } |
| 177 | 176 |
| 178 void onDraw(SkCanvas* canvas) override { | 177 void onDraw(SkCanvas* canvas) override { |
| 179 SkAutoTUnref<SkXfermode> xfer(SkXfermode::Create(SkXfermode::kDstOver_Mo
de)); | 178 auto xfer(SkXfermode::Make(SkXfermode::kDstOver_Mode)); |
| 180 | 179 |
| 181 sk_sp<SkShader> shaders[] = { | 180 sk_sp<SkShader> shaders[] = { |
| 182 // gradient should appear over color bitmap | 181 // gradient should appear over color bitmap |
| 183 SkShader::MakeComposeShader(fLinearGradientShader, fColorBitmapShade
r, xfer), | 182 SkShader::MakeComposeShader(fLinearGradientShader, fColorBitmapShade
r, xfer), |
| 184 // gradient should appear over alpha8 bitmap colorized by the paint
color | 183 // gradient should appear over alpha8 bitmap colorized by the paint
color |
| 185 SkShader::MakeComposeShader(fLinearGradientShader, fAlpha8BitmapShad
er, xfer), | 184 SkShader::MakeComposeShader(fLinearGradientShader, fAlpha8BitmapShad
er, xfer), |
| 186 }; | 185 }; |
| 187 | 186 |
| 188 SkPaint paint; | 187 SkPaint paint; |
| 189 paint.setColor(SK_ColorYELLOW); | 188 paint.setColor(SK_ColorYELLOW); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 220 sk_sp<SkShader> fLinearGradientShader; | 219 sk_sp<SkShader> fLinearGradientShader; |
| 221 | 220 |
| 222 typedef GM INHERITED; | 221 typedef GM INHERITED; |
| 223 }; | 222 }; |
| 224 | 223 |
| 225 ////////////////////////////////////////////////////////////////////////////// | 224 ////////////////////////////////////////////////////////////////////////////// |
| 226 | 225 |
| 227 DEF_GM( return new ComposeShaderGM; ) | 226 DEF_GM( return new ComposeShaderGM; ) |
| 228 DEF_GM( return new ComposeShaderAlphaGM; ) | 227 DEF_GM( return new ComposeShaderAlphaGM; ) |
| 229 DEF_GM( return new ComposeShaderBitmapGM; ) | 228 DEF_GM( return new ComposeShaderBitmapGM; ) |
| OLD | NEW |