diff options
author | 2014-02-07 16:02:41 +0000 | |
---|---|---|
committer | 2014-02-07 16:02:41 +0000 | |
commit | 20c4ebe9bf64e0ee1424d8b619c1010454fd37f5 (patch) | |
tree | e2618c6019aeea753b72425dc6d48eeeb339ecfe /src | |
parent | 6516d4b831f40dd2d0bb2e7115f1fe47c97a2c83 (diff) |
remove legacy LightingColorFilter impl
TBR:djsollen
Review URL: https://codereview.chromium.org/151353005
git-svn-id: http://skia.googlecode.com/svn/trunk@13362 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r-- | src/effects/SkColorFilters.cpp | 314 |
1 files changed, 0 insertions, 314 deletions
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp index d947bbc1ad..ab32bc6636 100644 --- a/src/effects/SkColorFilters.cpp +++ b/src/effects/SkColorFilters.cpp @@ -15,9 +15,6 @@ #include "SkValidationUtils.h" #include "SkColorMatrixFilter.h" -#define SK_MAP_LIGHTINGCOLORFILTER_TO_COLORMATRIX - - #define ILLEGAL_XFERMODE_MODE ((SkXfermode::Mode)-1) // baseclass for filters that store a color and mode @@ -541,8 +538,6 @@ SkColorFilter* SkColorFilter::CreateModeFilter(SkColor color, /////////////////////////////////////////////////////////////////////////////// -#ifdef SK_MAP_LIGHTINGCOLORFILTER_TO_COLORMATRIX - static SkScalar byte_to_scale(U8CPU byte) { if (0xFF == byte) { // want to get this exact @@ -552,279 +547,7 @@ static SkScalar byte_to_scale(U8CPU byte) { } } -#else - -static inline unsigned pin(unsigned value, unsigned max) { - if (value > max) { - value = max; - } - return value; -} - -class SkLightingColorFilter : public SkColorFilter { -public: - SkLightingColorFilter(SkColor mul, SkColor add) : fMul(mul), fAdd(add) {} - - virtual void filterSpan(const SkPMColor shader[], int count, - SkPMColor result[]) const SK_OVERRIDE { - unsigned scaleR = SkAlpha255To256(SkColorGetR(fMul)); - unsigned scaleG = SkAlpha255To256(SkColorGetG(fMul)); - unsigned scaleB = SkAlpha255To256(SkColorGetB(fMul)); - - unsigned addR = SkColorGetR(fAdd); - unsigned addG = SkColorGetG(fAdd); - unsigned addB = SkColorGetB(fAdd); - - for (int i = 0; i < count; i++) { - SkPMColor c = shader[i]; - if (c) { - unsigned a = SkGetPackedA32(c); - unsigned scaleA = SkAlpha255To256(a); - unsigned r = pin(SkAlphaMul(SkGetPackedR32(c), scaleR) + SkAlphaMul(addR, scaleA), a); - unsigned g = pin(SkAlphaMul(SkGetPackedG32(c), scaleG) + SkAlphaMul(addG, scaleA), a); - unsigned b = pin(SkAlphaMul(SkGetPackedB32(c), scaleB) + SkAlphaMul(addB, scaleA), a); - c = SkPackARGB32(a, r, g, b); - } - result[i] = c; - } - } - -#ifdef SK_DEVELOPER - virtual void toString(SkString* str) const SK_OVERRIDE { - str->append("SkLightingColorFilter: mul: 0x"); - str->appendHex(fMul); - str->append(" add: 0x"); - str->appendHex(fAdd); - } -#endif - - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter) - -protected: - virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE { - this->INHERITED::flatten(buffer); - buffer.writeColor(fMul); - buffer.writeColor(fAdd); - } - - SkLightingColorFilter(SkReadBuffer& buffer) { - fMul = buffer.readColor(); - fAdd = buffer.readColor(); - } - - SkColor fMul, fAdd; - -private: - typedef SkColorFilter INHERITED; -}; - -class SkLightingColorFilter_JustAdd : public SkLightingColorFilter { -public: - SkLightingColorFilter_JustAdd(SkColor mul, SkColor add) - : INHERITED(mul, add) {} - - virtual void filterSpan(const SkPMColor shader[], int count, - SkPMColor result[]) const SK_OVERRIDE { - unsigned addR = SkColorGetR(fAdd); - unsigned addG = SkColorGetG(fAdd); - unsigned addB = SkColorGetB(fAdd); - - for (int i = 0; i < count; i++) { - SkPMColor c = shader[i]; - if (c) { - unsigned a = SkGetPackedA32(c); - unsigned scaleA = SkAlpha255To256(a); - unsigned r = pin(SkGetPackedR32(c) + SkAlphaMul(addR, scaleA), a); - unsigned g = pin(SkGetPackedG32(c) + SkAlphaMul(addG, scaleA), a); - unsigned b = pin(SkGetPackedB32(c) + SkAlphaMul(addB, scaleA), a); - c = SkPackARGB32(a, r, g, b); - } - result[i] = c; - } - } - -#ifdef SK_DEVELOPER - virtual void toString(SkString* str) const SK_OVERRIDE { - str->append("SkLightingColorFilter_JustAdd: add: 0x"); - str->appendHex(fAdd); - } -#endif - - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_JustAdd) - -protected: - SkLightingColorFilter_JustAdd(SkReadBuffer& buffer) - : INHERITED(buffer) {} - -private: - typedef SkLightingColorFilter INHERITED; -}; - -class SkLightingColorFilter_JustMul : public SkLightingColorFilter { -public: - SkLightingColorFilter_JustMul(SkColor mul, SkColor add) - : INHERITED(mul, add) {} - - virtual void filterSpan(const SkPMColor shader[], int count, - SkPMColor result[]) const SK_OVERRIDE { - unsigned scaleR = SkAlpha255To256(SkColorGetR(fMul)); - unsigned scaleG = SkAlpha255To256(SkColorGetG(fMul)); - unsigned scaleB = SkAlpha255To256(SkColorGetB(fMul)); - - for (int i = 0; i < count; i++) { - SkPMColor c = shader[i]; - if (c) { - unsigned a = SkGetPackedA32(c); - unsigned r = SkAlphaMul(SkGetPackedR32(c), scaleR); - unsigned g = SkAlphaMul(SkGetPackedG32(c), scaleG); - unsigned b = SkAlphaMul(SkGetPackedB32(c), scaleB); - c = SkPackARGB32(a, r, g, b); - } - result[i] = c; - } - } - -#ifdef SK_DEVELOPER - virtual void toString(SkString* str) const SK_OVERRIDE { - str->append("SkLightingColorFilter_JustMul: mul: 0x"); - str->appendHex(fMul); - } -#endif - - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_JustMul) - -protected: - SkLightingColorFilter_JustMul(SkReadBuffer& buffer) - : INHERITED(buffer) {} - -private: - typedef SkLightingColorFilter INHERITED; -}; - -class SkLightingColorFilter_SingleMul : public SkLightingColorFilter { -public: - SkLightingColorFilter_SingleMul(SkColor mul, SkColor add) - : INHERITED(mul, add) { - SkASSERT(SkColorGetR(add) == 0); - SkASSERT(SkColorGetG(add) == 0); - SkASSERT(SkColorGetB(add) == 0); - SkASSERT(SkColorGetR(mul) == SkColorGetG(mul)); - SkASSERT(SkColorGetR(mul) == SkColorGetB(mul)); - } - - virtual uint32_t getFlags() const SK_OVERRIDE { - return this->INHERITED::getFlags() | (kAlphaUnchanged_Flag | kHasFilter16_Flag); - } - - virtual void filterSpan16(const uint16_t shader[], int count, - uint16_t result[]) const SK_OVERRIDE { - // all mul components are the same - unsigned scale = SkAlpha255To256(SkColorGetR(fMul)); - - if (count > 0) { - do { - *result++ = SkAlphaMulRGB16(*shader++, scale); - } while (--count > 0); - } - } - -#ifdef SK_DEVELOPER - virtual void toString(SkString* str) const SK_OVERRIDE { - str->append("SkLightingColorFilter_SingleMul: mul: 0x"); - str->appendHex(fMul); - } -#endif - - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_SingleMul) - -protected: - SkLightingColorFilter_SingleMul(SkReadBuffer& buffer) - : INHERITED(buffer) {} - -private: - typedef SkLightingColorFilter INHERITED; -}; - -class SkLightingColorFilter_NoPin : public SkLightingColorFilter { -public: - SkLightingColorFilter_NoPin(SkColor mul, SkColor add) - : INHERITED(mul, add) {} - - virtual void filterSpan(const SkPMColor shader[], int count, - SkPMColor result[]) const SK_OVERRIDE { - unsigned scaleR = SkAlpha255To256(SkColorGetR(fMul)); - unsigned scaleG = SkAlpha255To256(SkColorGetG(fMul)); - unsigned scaleB = SkAlpha255To256(SkColorGetB(fMul)); - - unsigned addR = SkColorGetR(fAdd); - unsigned addG = SkColorGetG(fAdd); - unsigned addB = SkColorGetB(fAdd); - - for (int i = 0; i < count; i++) { - SkPMColor c = shader[i]; - if (c) { - unsigned a = SkGetPackedA32(c); - unsigned scaleA = SkAlpha255To256(a); - unsigned r = SkAlphaMul(SkGetPackedR32(c), scaleR) + SkAlphaMul(addR, scaleA); - unsigned g = SkAlphaMul(SkGetPackedG32(c), scaleG) + SkAlphaMul(addG, scaleA); - unsigned b = SkAlphaMul(SkGetPackedB32(c), scaleB) + SkAlphaMul(addB, scaleA); - c = SkPackARGB32(a, r, g, b); - } - result[i] = c; - } - } - -#ifdef SK_DEVELOPER - virtual void toString(SkString* str) const SK_OVERRIDE { - str->append("SkLightingColorFilter_NoPin: mul: 0x"); - str->appendHex(fMul); - str->append(" add: 0x"); - str->appendHex(fAdd); - } -#endif - - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_NoPin) - -protected: - SkLightingColorFilter_NoPin(SkReadBuffer& buffer) - : INHERITED(buffer) {} - -private: - typedef SkLightingColorFilter INHERITED; -}; - -class SkSimpleColorFilter : public SkColorFilter { -public: - static SkFlattenable* CreateProc(SkReadBuffer& buffer) { - return SkNEW(SkSimpleColorFilter); - } - -#ifdef SK_DEVELOPER - virtual void toString(SkString* str) const SK_OVERRIDE { - str->append("SkSimpleColorFilter"); - } -#endif - -protected: - void filterSpan(const SkPMColor src[], int count, SkPMColor - result[]) const SK_OVERRIDE { - if (result != src) { - memcpy(result, src, count * sizeof(SkPMColor)); - } - } - - virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE {} - - virtual Factory getFactory() const { - return CreateProc; - } - -}; - -#endif // SK_MAP_LIGHTINGCOLORFILTER_TO_COLORMATRIX - SkColorFilter* SkColorFilter::CreateLightingFilter(SkColor mul, SkColor add) { -#ifdef SK_MAP_LIGHTINGCOLORFILTER_TO_COLORMATRIX SkColorMatrix matrix; matrix.setScale(byte_to_scale(SkColorGetR(mul)), byte_to_scale(SkColorGetG(mul)), @@ -835,47 +558,10 @@ SkColorFilter* SkColorFilter::CreateLightingFilter(SkColor mul, SkColor add) { SkIntToScalar(SkColorGetB(add)), 0); return SkNEW_ARGS(SkColorMatrixFilter, (matrix)); -#else - mul &= 0x00FFFFFF; - add &= 0x00FFFFFF; - - if (0xFFFFFF == mul) { - if (0 == add) { - return SkNEW(SkSimpleColorFilter); // no change to the colors - } else { - return SkNEW_ARGS(SkLightingColorFilter_JustAdd, (mul, add)); - } - } - - if (0 == add) { - if (SkColorGetR(mul) == SkColorGetG(mul) && - SkColorGetR(mul) == SkColorGetB(mul)) { - return SkNEW_ARGS(SkLightingColorFilter_SingleMul, (mul, add)); - } else { - return SkNEW_ARGS(SkLightingColorFilter_JustMul, (mul, add)); - } - } - - if (SkColorGetR(mul) + SkColorGetR(add) <= 255 && - SkColorGetG(mul) + SkColorGetG(add) <= 255 && - SkColorGetB(mul) + SkColorGetB(add) <= 255) { - return SkNEW_ARGS(SkLightingColorFilter_NoPin, (mul, add)); - } - - return SkNEW_ARGS(SkLightingColorFilter, (mul, add)); -#endif } SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkColorFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkModeColorFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Src_SkModeColorFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SrcOver_SkModeColorFilter) -#ifndef SK_MAP_LIGHTINGCOLORFILTER_TO_COLORMATRIX - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_JustAdd) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_JustMul) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_SingleMul) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_NoPin) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSimpleColorFilter) -#endif SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |