aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorFilter.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@chromium.org>2015-03-01 19:16:38 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-01 19:16:38 -0800
commit5bd055c0386499f2dc8c66173a7534b75af602bf (patch)
tree570e956f01d12e2fc0e51ebb106c15a600c56a36 /src/core/SkColorFilter.cpp
parentb675a73c1f3f4a433c4893199a0bd11126dfe130 (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.cpp78
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));
-}
-
-