Add filter quality to paint overrides in viewer.
Change-Id: I5e544174f5ddeaaf0a6252d88775112e545686c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198781
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index c600f65..247d803 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -753,6 +753,22 @@
paintFlag(&SkPaintFields::fAntiAlias, &SkPaint::isAntiAlias, "Antialias", "Alias");
paintFlag(&SkPaintFields::fDither, &SkPaint::isDither, "DITHER", "No Dither");
+ if (fPaintOverrides.fFilterQuality) {
+ switch (fPaint.getFilterQuality()) {
+ case kNone_SkFilterQuality:
+ paintTitle.append("NoFilter");
+ break;
+ case kLow_SkFilterQuality:
+ paintTitle.append("LowFilter");
+ break;
+ case kMedium_SkFilterQuality:
+ paintTitle.append("MediumFilter");
+ break;
+ case kHigh_SkFilterQuality:
+ paintTitle.append("HighFilter");
+ break;
+ }
+ }
fontFlag(&SkFontFields::fForceAutoHinting, &SkFont::isForceAutoHinting,
"Force Autohint", "No Force Autohint");
@@ -1138,6 +1154,9 @@
if (fPaintOverrides->fDither) {
paint->writable()->setDither(fPaint->isDither());
}
+ if (fPaintOverrides->fFilterQuality) {
+ paint->writable()->setFilterQuality(fPaint->getFilterQuality());
+ }
return true;
}
SkPaint* fPaint;
@@ -1665,6 +1684,23 @@
"Default\0No Dither\0Dither\0\0",
&SkPaintFields::fDither,
&SkPaint::isDither, &SkPaint::setDither);
+
+ int filterQualityIdx = 0;
+ if (fPaintOverrides.fFilterQuality) {
+ filterQualityIdx = SkTo<int>(fPaint.getFilterQuality()) + 1;
+ }
+ if (ImGui::Combo("Filter Quality", &filterQualityIdx,
+ "Default\0None\0Low\0Medium\0High\0\0"))
+ {
+ if (filterQualityIdx == 0) {
+ fPaintOverrides.fFilterQuality = false;
+ fPaint.setFilterQuality(kNone_SkFilterQuality);
+ } else {
+ fPaint.setFilterQuality(SkTo<SkFilterQuality>(filterQualityIdx - 1));
+ fPaintOverrides.fFilterQuality = true;
+ }
+ paramsChanged = true;
+ }
}
if (ImGui::CollapsingHeader("Font")) {