| Index: include/effects/SkLumaColorFilter.h
|
| diff --git a/include/effects/SkLumaColorFilter.h b/include/effects/SkLumaColorFilter.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fef06ab12ad7009563aee458948a9822f1c6c1e8
|
| --- /dev/null
|
| +++ b/include/effects/SkLumaColorFilter.h
|
| @@ -0,0 +1,46 @@
|
| +/*
|
| + * Copyright 2013 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#ifndef SkLumaColorFilter_DEFINED
|
| +#define SkLumaColorFilter_DEFINED
|
| +
|
| +#include "SkColorFilter.h"
|
| +
|
| +/**
|
| + * Luminance-to-alpha color filter, as defined in
|
| + * http://www.w3.org/TR/SVG/masking.html#Masking
|
| + * http://www.w3.org/TR/css-masking/#MaskValues
|
| + *
|
| + * Each color is scaled by the (unpremultiplied) luminance value:
|
| + *
|
| + * C' = [Lum * a, Lum * r, Lum * g, Lum * b]
|
| + *
|
| + */
|
| +class SK_API SkLumaColorFilter : public SkColorFilter {
|
| +public:
|
| + static SkColorFilter* Create();
|
| +
|
| + virtual void filterSpan(const SkPMColor src[], int count, SkPMColor[]) const SK_OVERRIDE;
|
| +
|
| +#if SK_SUPPORT_GPU
|
| + virtual GrEffectRef* asNewEffect(GrContext*) const SK_OVERRIDE;
|
| +#endif
|
| +
|
| + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;)
|
| + SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLumaColorFilter)
|
| +
|
| +protected:
|
| + SkLumaColorFilter(SkFlattenableReadBuffer& buffer);
|
| + virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
|
| +
|
| +private:
|
| + SkLumaColorFilter();
|
| +
|
| + typedef SkColorFilter INHERITED;
|
| +};
|
| +
|
| +#endif
|
|
|