remove filterSpan from SkColorFilter
Bug: skia:
Change-Id: Ie8a31ea8131c08d251a825622484342e3e174474
Reviewed-on: https://skia-review.googlesource.com/21207
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 0bcde27..a107a06 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -49,9 +49,17 @@
}
SkColor SkColorFilter::filterColor(SkColor c) const {
- SkPMColor dst, src = SkPreMultiplyColor(c);
- this->filterSpan(&src, 1, &dst);
- return SkUnPreMultiply::PMColorToColor(dst);
+ const float inv255 = 1.0f / 255;
+ SkColor4f c4 = this->filterColor4f({
+ SkColorGetR(c) * inv255,
+ SkColorGetG(c) * inv255,
+ SkColorGetB(c) * inv255,
+ SkColorGetA(c) * inv255,
+ });
+ return SkColorSetARGB(sk_float_round2int(c4.fA*255),
+ sk_float_round2int(c4.fR*255),
+ sk_float_round2int(c4.fG*255),
+ sk_float_round2int(c4.fB*255));
}
#include "SkRasterPipeline.h"
@@ -89,11 +97,6 @@
return fOuter->getFlags() & fInner->getFlags();
}
- void filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const override {
- fInner->filterSpan(shader, count, result);
- fOuter->filterSpan(result, count, result);
- }
-
#ifndef SK_IGNORE_TO_STRING
void toString(SkString* str) const override {
SkString outerS, innerS;