SkTreatAsSprite should take AA into account
Currently we always call SkTreatAsSprite with 0 subpixel bits, which means
subpixel translations are ignored. This is incorrect for the anti-aliased
case (drawSprite always pixel-snaps, so we lose edge AA).
The CL updates SkTreatAsSprite to take an SkPaint argument and use 8 subpixel
bits when AA is requested.
Also remove unused SkTreatAsSpriteFilter.
BUG=skia:4761
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1566943002
Committed: https://skia.googlesource.com/skia/+/983dc2541a729609037a05eba731b3eb9788c517
Review URL: https://codereview.chromium.org/1566943002
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index e5ca9ce..a4acbdc 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -2220,8 +2220,7 @@
}
const SkMatrix& ctm = this->getTotalMatrix();
- const unsigned kSubpixelBits = 0; // matching SkDraw::drawBitmap()
- if (!SkTreatAsSprite(ctm, w, h, kSubpixelBits)) {
+ if (!SkTreatAsSprite(ctm, SkISize::Make(w, h), paint)) {
return false;
}