diff options
author | reed <reed@chromium.org> | 2015-03-01 19:16:38 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-01 19:16:38 -0800 |
commit | 5bd055c0386499f2dc8c66173a7534b75af602bf (patch) | |
tree | 570e956f01d12e2fc0e51ebb106c15a600c56a36 /src/core/SkColorFilter.cpp | |
parent | b675a73c1f3f4a433c4893199a0bd11126dfe130 (diff) |
Revert of add compose-colorfilter (patchset #2 id:20001 of https://codereview.chromium.org/969673002/)
Reason for revert:
need to register subclass for serialization
Original issue's description:
> add compose-colorfilter
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b675a73c1f3f4a433c4893199a0bd11126dfe130
TBR=fmalita@chromium.org,bsalomon@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/971653002
Diffstat (limited to 'src/core/SkColorFilter.cpp')
-rw-r--r-- | src/core/SkColorFilter.cpp | 78 |
1 files changed, 4 insertions, 74 deletions
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp index 8c760be6cf..aadb29cb2d 100644 --- a/src/core/SkColorFilter.cpp +++ b/src/core/SkColorFilter.cpp @@ -6,9 +6,12 @@ */ #include "SkColorFilter.h" + #include "SkReadBuffer.h" -#include "SkString.h" #include "SkWriteBuffer.h" +#include "SkShader.h" +#include "SkUnPreMultiply.h" +#include "SkString.h" bool SkColorFilter::asColorMode(SkColor* color, SkXfermode::Mode* mode) const { return false; @@ -40,76 +43,3 @@ SkColor SkColorFilter::filterColor(SkColor c) const { GrFragmentProcessor* SkColorFilter::asFragmentProcessor(GrContext*) const { return NULL; } - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -class SkComposeColorFilter : public SkColorFilter { -public: - SkComposeColorFilter(SkColorFilter* outer, SkColorFilter* inner) - : fOuter(SkRef(outer)) - , fInner(SkRef(inner)) - {} - - uint32_t getFlags() const SK_OVERRIDE { - // Can only claim alphaunchanged and 16bit support if both our proxys do. - return fOuter->getFlags() & fInner->getFlags(); - } - - void filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const SK_OVERRIDE { - fInner->filterSpan(shader, count, result); - 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; - fOuter->toString(&outerS); - fInner->toString(&innerS); - str->appendf("SkComposeColorFilter: outer(%s) inner(%s)", outerS.c_str(), innerS.c_str()); - } -#endif - -#if 0 // TODO: should we support composing the fragments? -#if SK_SUPPORT_GPU - GrFragmentProcessor* asFragmentProcessor(GrContext*) const SK_OVERRIDE; -#endif -#endif - - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeColorFilter) - -protected: - void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE { - buffer.writeFlattenable(fOuter); - buffer.writeFlattenable(fInner); - } - -private: - SkAutoTUnref<SkColorFilter> fOuter; - SkAutoTUnref<SkColorFilter> fInner; - - typedef SkColorFilter INHERITED; -}; - -SkFlattenable* SkComposeColorFilter::CreateProc(SkReadBuffer& buffer) { - SkAutoTUnref<SkColorFilter> outer(buffer.readColorFilter()); - SkAutoTUnref<SkColorFilter> inner(buffer.readColorFilter()); - return CreateComposeFilter(outer, inner); -} - -SkColorFilter* SkColorFilter::CreateComposeFilter(SkColorFilter* outer, SkColorFilter* inner) { - if (!outer) { - return SkSafeRef(inner); - } - if (!inner) { - return SkSafeRef(outer); - } - return SkNEW_ARGS(SkComposeColorFilter, (outer, inner)); -} - - |