Hide legacy imagefilters::image using filter-quality
Small diffs in a GM -- due to the dual nature of kMedium (cpu and gpu)
Another reason to stop using it, and switch to the more-explicit
sampling.
Bug: skia:7650
Change-Id: Ie7575071b19778626da7f94804abaaa11861a050
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370259
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/gm/imagesource2.cpp b/gm/imagesource2.cpp
index 005a626..8825c1b 100644
--- a/gm/imagesource2.cpp
+++ b/gm/imagesource2.cpp
@@ -27,7 +27,8 @@
// is shifted for high quality mode between cpu and gpu.
class ImageSourceGM : public GM {
public:
- ImageSourceGM(const char* suffix, SkFilterQuality filter) : fSuffix(suffix), fFilter(filter) {
+ ImageSourceGM(const char* suffix, const SkSamplingOptions& sampling)
+ : fSuffix(suffix), fSampling(sampling) {
this->setBGColor(0xFFFFFFFF);
}
@@ -77,7 +78,7 @@
const SkRect dstRect = SkRect::MakeLTRB(0.75f, 0.75f, 225.75f, 225.75f);
SkPaint p;
- p.setImageFilter(SkImageFilters::Image(fImage, srcRect, dstRect, fFilter));
+ p.setImageFilter(SkImageFilters::Image(fImage, srcRect, dstRect, fSampling));
canvas->saveLayer(nullptr, &p);
canvas->restore();
@@ -86,17 +87,18 @@
private:
static constexpr int kImageSize = 503;
- SkString fSuffix;
- SkFilterQuality fFilter;
- sk_sp<SkImage> fImage;
+ SkString fSuffix;
+ SkSamplingOptions fSampling;
+ sk_sp<SkImage> fImage;
using INHERITED = GM;
};
//////////////////////////////////////////////////////////////////////////////
-DEF_GM(return new ImageSourceGM("none", kNone_SkFilterQuality);)
-DEF_GM(return new ImageSourceGM("low", kLow_SkFilterQuality);)
-DEF_GM(return new ImageSourceGM("med", kMedium_SkFilterQuality);)
-DEF_GM(return new ImageSourceGM("high", kHigh_SkFilterQuality);)
+DEF_GM(return new ImageSourceGM("none", SkSamplingOptions());)
+DEF_GM(return new ImageSourceGM("low", SkSamplingOptions(SkFilterMode::kLinear));)
+DEF_GM(return new ImageSourceGM("med", SkSamplingOptions(SkFilterMode::kLinear,
+ SkMipmapMode::kLinear));)
+DEF_GM(return new ImageSourceGM("high", SkSamplingOptions({1/3.0f, 1/3.0f}));)
} // namespace skiagm