1/*
2 * Copyright 2006 The Android Open Source Project
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkColorFilter.h"
9
10#include "SkReadBuffer.h"
11#include "SkWriteBuffer.h"
12#include "SkShader.h"
13#include "SkUnPreMultiply.h"
14#include "SkString.h"
15
16bool SkColorFilter::asColorMode(SkColor* color, SkXfermode::Mode* mode) const {
17    return false;
18}
19
20bool SkColorFilter::asColorMatrix(SkScalar matrix[20]) const {
21    return false;
22}
23
24bool SkColorFilter::asComponentTable(SkBitmap*) const {
25    return false;
26}
27
28void SkColorFilter::filterSpan16(const uint16_t s[], int count, uint16_t d[]) const {
29    SkASSERT(this->getFlags() & SkColorFilter::kHasFilter16_Flag);
30    SkDEBUGFAIL("missing implementation of SkColorFilter::filterSpan16");
31
32    if (d != s) {
33        memcpy(d, s, count * sizeof(uint16_t));
34    }
35}
36
37SkColor SkColorFilter::filterColor(SkColor c) const {
38    SkPMColor dst, src = SkPreMultiplyColor(c);
39    this->filterSpan(&src, 1, &dst);
40    return SkUnPreMultiply::PMColorToColor(dst);
41}
42
43GrEffectRef* SkColorFilter::asNewEffect(GrContext*) const {
44    return NULL;
45}
46