diff options
Diffstat (limited to 'gm/gradients_2pt_conical.cpp')
-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); ) |