Stop using filterquality
Change-Id: I0fd8ace529cde3b36df72dd4d80bba18c1388b20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429497
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/fuzz/Fuzz.h b/fuzz/Fuzz.h
index 31ba72a..4456a13 100644
--- a/fuzz/Fuzz.h
+++ b/fuzz/Fuzz.h
@@ -77,6 +77,12 @@
void next(bool* b);
void next(SkRegion* region);
+ bool nextBool() {
+ bool b;
+ this->next(&b);
+ return b;
+ }
+
void nextRange(float* f, float min, float max);
private:
diff --git a/fuzz/FuzzCanvas.cpp b/fuzz/FuzzCanvas.cpp
index 3507eb2..ab0ee87 100644
--- a/fuzz/FuzzCanvas.cpp
+++ b/fuzz/FuzzCanvas.cpp
@@ -512,6 +512,20 @@
static void fuzz_paint(Fuzz* fuzz, SkPaint* paint, int depth);
+static SkSamplingOptions next_sampling(Fuzz* fuzz) {
+ if (fuzz->nextBool()) {
+ float B, C;
+ fuzz->next(&B, &C);
+ return SkSamplingOptions({B, C});
+ } else {
+ SkFilterMode fm;
+ SkMipmapMode mm;
+ fuzz->nextEnum(&fm, SkFilterMode::kLast);
+ fuzz->nextEnum(&mm, SkMipmapMode::kLast);
+ return SkSamplingOptions(fm, mm);
+ }
+}
+
static sk_sp<SkImageFilter> make_fuzz_imageFilter(Fuzz* fuzz, int depth) {
if (depth <= 0) {
return nullptr;
@@ -536,9 +550,7 @@
case 2: {
SkMatrix matrix;
FuzzNiceMatrix(fuzz, &matrix);
- SkFilterQuality quality;
- fuzz->nextEnum(&quality, SkFilterQuality::kLast_SkFilterQuality);
- auto sampling = SkSamplingOptions(quality);
+ const auto sampling = next_sampling(fuzz);
sk_sp<SkImageFilter> input = make_fuzz_imageFilter(fuzz, depth - 1);
return SkImageFilters::MatrixTransform(matrix, sampling, std::move(input));
}
@@ -628,11 +640,8 @@
case 10: {
sk_sp<SkImage> image = make_fuzz_image(fuzz);
SkRect srcRect, dstRect;
- SkFilterQuality filterQuality;
fuzz->next(&srcRect, &dstRect);
- fuzz->nextEnum(&filterQuality, SkFilterQuality::kLast_SkFilterQuality);
- return SkImageFilters::Image(std::move(image), srcRect, dstRect,
- SkSamplingOptions(filterQuality));
+ return SkImageFilters::Image(std::move(image), srcRect, dstRect, next_sampling(fuzz));
}
case 11:
return make_fuzz_lighting_imagefilter(fuzz, depth - 1);
diff --git a/gm/giantbitmap.cpp b/gm/giantbitmap.cpp
index 9d578c4..d2caac5 100644
--- a/gm/giantbitmap.cpp
+++ b/gm/giantbitmap.cpp
@@ -118,7 +118,7 @@
: SkFilterMode::kNearest),
m));
- canvas->translate(SkIntToScalar(50), SkIntToScalar(50));
+ canvas->translate(50, 50);
canvas->drawPaint(paint);
}
diff --git a/modules/svg/src/SkSVGFeImage.cpp b/modules/svg/src/SkSVGFeImage.cpp
index 8ea195a..9767b37 100644
--- a/modules/svg/src/SkSVGFeImage.cpp
+++ b/modules/svg/src/SkSVGFeImage.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "include/core/SkSamplingOptions.h"
#include "include/effects/SkImageFilters.h"
#include "modules/svg/include/SkSVGFeImage.h"
#include "modules/svg/include/SkSVGFilterContext.h"
@@ -33,8 +34,9 @@
const SkRect srcRect = SkRect::Make(imgInfo.fImage->bounds());
const SkRect& dstRect = imgInfo.fDst;
// TODO: image-rendering property
- const SkFilterQuality fq = SkFilterQuality::kMedium_SkFilterQuality;
- auto imgfilt = SkImageFilters::Image(imgInfo.fImage, srcRect, dstRect, SkSamplingOptions(fq));
+ auto imgfilt = SkImageFilters::Image(imgInfo.fImage, srcRect, dstRect,
+ SkSamplingOptions(SkFilterMode::kLinear,
+ SkMipmapMode::kNearest));
// Aspect ratio mapping may end up drawing content outside of the filter effects region,
// so perform an explicit crop.