aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-06-27 13:38:26 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-27 18:27:47 +0000
commit26249e0e1d1b18a1e67195a2998b49958426f8ba (patch)
treeea672a52218a06acaf9b25cca40df0434ab3e7c4
parent19b2a56ad7901796b2ee7af57f745d7c92c77e09 (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.cpp28
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); )