diff options
author | Florin Malita <fmalita@chromium.org> | 2017-06-27 13:38:26 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-27 18:27:47 +0000 |
commit | 26249e0e1d1b18a1e67195a2998b49958426f8ba (patch) | |
tree | ea672a52218a06acaf9b25cca40df0434ab3e7c4 | |
parent | 19b2a56ad7901796b2ee7af57f745d7c92c77e09 (diff) |
Expand 2pt conical gradient gm with repeat/mirror
Change-Id: Iabb67dbf133690c649e9687233c4bfcb396db0cf
Reviewed-on: https://skia-review.googlesource.com/20971
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
-rw-r--r-- | gm/gradients_2pt_conical.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/gm/gradients_2pt_conical.cpp b/gm/gradients_2pt_conical.cpp index 8b94ea5457..3cda2c656d 100644 --- a/gm/gradients_2pt_conical.cpp +++ b/gm/gradients_2pt_conical.cpp @@ -289,12 +289,24 @@ enum GradCaseType { // these must match the order in gGradCases class ConicalGradientsGM : public GM { public: - ConicalGradientsGM(GradCaseType gradCaseType, bool dither) + ConicalGradientsGM(GradCaseType gradCaseType, bool dither, + SkShader::TileMode mode = SkShader::kClamp_TileMode) : fGradCaseType(gradCaseType) - , fDither(dither) { + , fDither(dither) + , fMode(mode) { this->setBGColor(sk_tool_utils::color_to_565(0xFFDDDDDD)); fName.printf("gradients_2pt_conical_%s%s", gGradCases[gradCaseType].fName, fDither ? "" : "_nodither"); + switch (mode) { + case SkShader::kRepeat_TileMode: + fName.appendf("_repeat"); + break; + case SkShader::kMirror_TileMode: + fName.appendf("_mirror"); + break; + default: + break; + } } protected: @@ -310,7 +322,6 @@ protected: { 0, 0 }, { SkIntToScalar(100), SkIntToScalar(100) } }; - SkShader::TileMode tm = SkShader::kClamp_TileMode; SkRect r = { 0, 0, SkIntToScalar(100), SkIntToScalar(100) }; SkPaint paint; paint.setAntiAlias(true); @@ -331,7 +342,7 @@ protected: scale.postTranslate(25.f, 25.f); } - paint.setShader(gradMaker[j](pts, gGradData[i], tm, scale)); + paint.setShader(gradMaker[j](pts, gGradData[i], fMode, scale)); canvas->drawRect(r, paint); canvas->translate(0, SkIntToScalar(120)); } @@ -346,6 +357,7 @@ private: GradCaseType fGradCaseType; SkString fName; bool fDither; + SkShader::TileMode fMode; }; /////////////////////////////////////////////////////////////////////////////// @@ -353,6 +365,14 @@ DEF_GM( return new ConicalGradientsGM(kInside_GradCaseType, true); ) DEF_GM( return new ConicalGradientsGM(kOutside_GradCaseType, true); ) DEF_GM( return new ConicalGradientsGM(kEdge_GradCaseType, true); ) +DEF_GM( return new ConicalGradientsGM(kInside_GradCaseType, true, SkShader::kRepeat_TileMode); ) +DEF_GM( return new ConicalGradientsGM(kOutside_GradCaseType, true, SkShader::kRepeat_TileMode); ) +DEF_GM( return new ConicalGradientsGM(kEdge_GradCaseType, true, SkShader::kRepeat_TileMode); ) + +DEF_GM( return new ConicalGradientsGM(kInside_GradCaseType, true, SkShader::kMirror_TileMode); ) +DEF_GM( return new ConicalGradientsGM(kOutside_GradCaseType, true, SkShader::kMirror_TileMode); ) +DEF_GM( return new ConicalGradientsGM(kEdge_GradCaseType, true, SkShader::kMirror_TileMode); ) + DEF_GM( return new ConicalGradientsGM(kInside_GradCaseType, false); ) DEF_GM( return new ConicalGradientsGM(kOutside_GradCaseType, false); ) DEF_GM( return new ConicalGradientsGM(kEdge_GradCaseType, false); ) |