'g' key toggles showgrid for PerlinPatch

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2269673002

TBR=

Review-Url: https://codereview.chromium.org/2269673002
diff --git a/samplecode/PerlinPatch.cpp b/samplecode/PerlinPatch.cpp
index 8f7e28d..a2033c3 100644
--- a/samplecode/PerlinPatch.cpp
+++ b/samplecode/PerlinPatch.cpp
@@ -71,6 +71,8 @@
     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 @@
             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 @@
         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);
     }