'F' will toggle filtering for the --picture sample

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

TBR=

Review-Url: https://codereview.chromium.org/2263203002
diff --git a/samplecode/SamplePictFile.cpp b/samplecode/SamplePictFile.cpp
index c1958c8..8548328 100644
--- a/samplecode/SamplePictFile.cpp
+++ b/samplecode/SamplePictFile.cpp
@@ -55,9 +55,14 @@
         fCount = 0;
     }
 
-    virtual ~PictFileView() {
+    ~PictFileView() override {
+        this->freePictures();
+    }
+    
+    void freePictures() {
         for (int i = 0; i < kBBoxTypeCount; ++i) {
             SkSafeUnref(fPictures[i]);
+            fPictures[i] = nullptr;
         }
     }
 
@@ -94,6 +99,12 @@
                 case 'n': fCount += 1; this->inval(nullptr); return true;
                 case 'p': fCount -= 1; this->inval(nullptr); return true;
                 case 's': fCount =  0; this->inval(nullptr); return true;
+                case 'F':
+                    fFilterQuality = (kNone_SkFilterQuality == fFilterQuality) ?
+                                     kHigh_SkFilterQuality : kNone_SkFilterQuality;
+                    this->freePictures();
+                    this->inval(nullptr);
+                    return true;
                 default: break;
             }
         }
@@ -148,18 +159,19 @@
     BBoxType    fBBox;
     SkSize      fTileSize;
     int         fCount;
+    SkFilterQuality fFilterQuality = kNone_SkFilterQuality;
 
     sk_sp<SkPicture> LoadPicture(const char path[], BBoxType bbox) {
         sk_sp<SkPicture> pic;
 
-        SkBitmap bm;
-        if (decode_file(path, &bm)) {
-            bm.setImmutable();
+        if (sk_sp<SkImage> img = decode_file(path)) {
             SkPictureRecorder recorder;
-            SkCanvas* can = recorder.beginRecording(SkIntToScalar(bm.width()),
-                                                    SkIntToScalar(bm.height()),
+            SkCanvas* can = recorder.beginRecording(SkIntToScalar(img->width()),
+                                                    SkIntToScalar(img->height()),
                                                     nullptr, 0);
-            can->drawBitmap(bm, 0, 0, nullptr);
+            SkPaint paint;
+            paint.setFilterQuality(fFilterQuality);
+            can->drawImage(img, 0, 0, &paint);
             pic = recorder.finishRecordingAsPicture();
         } else {
             SkFILEStream stream(path);