aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-08-22 08:45:15 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-22 08:45:16 -0700
commitc0c6e1c5d133c51cc75ed9d5770fdc5448d8c324 (patch)
treeb372095b6a054caf80d9f0284a3cb87c4f6e88ec
parent7fd64e7e67dfb74a10ab1b9c7cce2cc568d37fd2 (diff)
'g' key toggles showgrid for PerlinPatch
-rw-r--r--samplecode/PerlinPatch.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/samplecode/PerlinPatch.cpp b/samplecode/PerlinPatch.cpp
index 8f7e28d4d0..a2033c35ff 100644
--- a/samplecode/PerlinPatch.cpp
+++ b/samplecode/PerlinPatch.cpp
@@ -71,6 +71,8 @@ class PerlinPatchView : public SampleView {
SkScalar fTexY;
SkScalar fTexScale;
SkMatrix fInvMatrix;
+ bool fShowGrid = false;
+
public:
PerlinPatchView() : fXFreq(0.025f), fYFreq(0.025f), fSeed(0.0f),
fTexX(100.0), fTexY(50.0), fTexScale(1.0f) {
@@ -114,6 +116,13 @@ protected:
SampleCode::TitleR(evt, "PerlinPatch");
return true;
}
+ SkUnichar uni;
+ if (SampleCode::CharQ(*evt, &uni)) {
+ switch (uni) {
+ case 'g': fShowGrid = !fShowGrid; this->inval(nullptr); return true;
+ default: break;
+ }
+ }
return this->INHERITED::onQuery(evt);
}
@@ -147,7 +156,12 @@ protected:
fShaderCompose = SkShader::MakeComposeShader(fShader0, fShader1, nullptr);
paint.setShader(fShaderCompose);
- canvas->drawPatch(fPts, nullptr, texCoords, xfer, paint);
+
+ const SkPoint* tex = texCoords;
+ if (fShowGrid) {
+ tex = nullptr;
+ }
+ canvas->drawPatch(fPts, nullptr, tex, xfer, paint);
draw_control_points(canvas, fPts);
}