blob: ef0bda74eefb8cbdc880b727f72d523d0a1df807 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001/*
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
reed@android.com8a1c16f2008-12-17 15:59:43 +00008#include "SkColorFilter.h"
tfarina@chromium.org883fe7f2013-07-16 13:05:27 +00009
djsollen@google.comc73dd5c2012-08-07 15:54:32 +000010#include "SkFlattenableBuffers.h"
reed@android.com8a1c16f2008-12-17 15:59:43 +000011#include "SkShader.h"
reed@google.com6b7aee32011-04-19 18:36:09 +000012#include "SkUnPreMultiply.h"
robertphillips@google.com76f9e932013-01-15 20:17:47 +000013#include "SkString.h"
reed@android.com8a1c16f2008-12-17 15:59:43 +000014
reed@google.combada6442012-12-17 20:21:44 +000015bool SkColorFilter::asColorMode(SkColor* color, SkXfermode::Mode* mode) const {
reed@google.com43c50c82011-04-14 15:50:52 +000016 return false;
17}
18
reed@google.combada6442012-12-17 20:21:44 +000019bool SkColorFilter::asColorMatrix(SkScalar matrix[20]) const {
senorblanco@chromium.orge5ff3ce2011-12-20 20:58:18 +000020 return false;
21}
22
bsalomon@google.comb2ad1012012-10-17 15:00:32 +000023bool SkColorFilter::asComponentTable(SkBitmap*) const {
reed@google.com71918402012-01-05 17:24:35 +000024 return false;
25}
26
reed@google.combada6442012-12-17 20:21:44 +000027void SkColorFilter::filterSpan16(const uint16_t s[], int count, uint16_t d[]) const {
reed@android.com8a1c16f2008-12-17 15:59:43 +000028 SkASSERT(this->getFlags() & SkColorFilter::kHasFilter16_Flag);
tomhudson@google.com0c00f212011-12-28 14:59:50 +000029 SkDEBUGFAIL("missing implementation of SkColorFilter::filterSpan16");
reed@android.com8a1c16f2008-12-17 15:59:43 +000030
reed@google.comfeb8cc82011-04-19 20:11:25 +000031 if (d != s) {
reed@android.com8a1c16f2008-12-17 15:59:43 +000032 memcpy(d, s, count * sizeof(uint16_t));
reed@google.comfeb8cc82011-04-19 20:11:25 +000033 }
reed@android.com8a1c16f2008-12-17 15:59:43 +000034}
35
reed@google.combada6442012-12-17 20:21:44 +000036SkColor SkColorFilter::filterColor(SkColor c) const {
reed@google.com6b7aee32011-04-19 18:36:09 +000037 SkPMColor dst, src = SkPreMultiplyColor(c);
38 this->filterSpan(&src, 1, &dst);
39 return SkUnPreMultiply::PMColorToColor(dst);
40}
41
bsalomon@google.com0ac6af42013-01-16 15:16:18 +000042GrEffectRef* SkColorFilter::asNewEffect(GrContext*) const {
bsalomon@google.com67e78c92012-10-17 13:36:14 +000043 return NULL;
44}