aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorFilter.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-03-24 05:18:09 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-24 05:18:09 -0700
commit92b47c49016749249ff8521e424c4373b4a74241 (patch)
tree610773be56816c44489f9736875195066309e211 /src/core/SkColorFilter.cpp
parentb67eb2f9b9ec097aa963245a85be13daec09d2cc (diff)
Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/)
Reason for revert: skia/ext/benchmarking_canvas.cc references HasFilter16 :( Original issue's description: > remove colorfilter native-565 support. complicating w/ no real value. > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710 TBR=reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1022673007
Diffstat (limited to 'src/core/SkColorFilter.cpp')
-rw-r--r--src/core/SkColorFilter.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 45950ad0b5..0a9cd93e34 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -22,6 +22,15 @@ bool SkColorFilter::asComponentTable(SkBitmap*) const {
return false;
}
+void SkColorFilter::filterSpan16(const uint16_t s[], int count, uint16_t d[]) const {
+ SkASSERT(this->getFlags() & SkColorFilter::kHasFilter16_Flag);
+ SkDEBUGFAIL("missing implementation of SkColorFilter::filterSpan16");
+
+ if (d != s) {
+ memcpy(d, s, count * sizeof(uint16_t));
+ }
+}
+
SkColor SkColorFilter::filterColor(SkColor c) const {
SkPMColor dst, src = SkPreMultiplyColor(c);
this->filterSpan(&src, 1, &dst);
@@ -52,6 +61,12 @@ public:
fOuter->filterSpan(result, count, result);
}
+ void filterSpan16(const uint16_t shader[], int count, uint16_t result[]) const SK_OVERRIDE {
+ SkASSERT(this->getFlags() & kHasFilter16_Flag);
+ fInner->filterSpan16(shader, count, result);
+ fOuter->filterSpan16(result, count, result);
+ }
+
#ifndef SK_IGNORE_TO_STRING
void toString(SkString* str) const SK_OVERRIDE {
SkString outerS, innerS;