Index: src/core/SkFilterShader.cpp |
diff --git a/src/core/SkFilterShader.cpp b/src/core/SkFilterShader.cpp |
deleted file mode 100644 |
index 2f07c23d95d99299b13541dafd9ab1877dde5050..0000000000000000000000000000000000000000 |
--- a/src/core/SkFilterShader.cpp |
+++ /dev/null |
@@ -1,99 +0,0 @@ |
-/* |
- * Copyright 2013 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#include "SkFilterShader.h" |
- |
-#include "SkColorFilter.h" |
-#include "SkReadBuffer.h" |
-#include "SkWriteBuffer.h" |
-#include "SkShader.h" |
-#include "SkString.h" |
- |
-SkFilterShader::SkFilterShader(SkShader* shader, SkColorFilter* filter) { |
- fShader = shader; |
- shader->ref(); |
- |
- fFilter = filter; |
- filter->ref(); |
-} |
- |
-SkFilterShader::~SkFilterShader() { |
- fFilter->unref(); |
- fShader->unref(); |
-} |
- |
-SkFlattenable* SkFilterShader::CreateProc(SkReadBuffer& buffer) { |
- SkAutoTUnref<SkShader> shader(buffer.readShader()); |
- SkAutoTUnref<SkColorFilter> filter(buffer.readColorFilter()); |
- if (!shader.get() || !filter.get()) { |
- return nullptr; |
- } |
- return new SkFilterShader(shader, filter); |
-} |
- |
-void SkFilterShader::flatten(SkWriteBuffer& buffer) const { |
- buffer.writeFlattenable(fShader); |
- buffer.writeFlattenable(fFilter); |
-} |
- |
-uint32_t SkFilterShader::FilterShaderContext::getFlags() const { |
- const SkFilterShader& filterShader = static_cast<const SkFilterShader&>(fShader); |
- |
- uint32_t shaderF = fShaderContext->getFlags(); |
- uint32_t filterF = filterShader.fFilter->getFlags(); |
- |
- // if the filter might change alpha, clear the opaque flag in the shader |
- if (!(filterF & SkColorFilter::kAlphaUnchanged_Flag)) { |
- shaderF &= ~SkShader::kOpaqueAlpha_Flag; |
- } |
- return shaderF; |
-} |
- |
-SkShader::Context* SkFilterShader::onCreateContext(const ContextRec& rec, void* storage) const { |
- char* shaderContextStorage = (char*)storage + sizeof(FilterShaderContext); |
- SkShader::Context* shaderContext = fShader->createContext(rec, shaderContextStorage); |
- if (nullptr == shaderContext) { |
- return nullptr; |
- } |
- return new (storage) FilterShaderContext(*this, shaderContext, rec); |
-} |
- |
-size_t SkFilterShader::contextSize() const { |
- return sizeof(FilterShaderContext) + fShader->contextSize(); |
-} |
- |
-SkFilterShader::FilterShaderContext::FilterShaderContext(const SkFilterShader& filterShader, |
- SkShader::Context* shaderContext, |
- const ContextRec& rec) |
- : INHERITED(filterShader, rec) |
- , fShaderContext(shaderContext) {} |
- |
-SkFilterShader::FilterShaderContext::~FilterShaderContext() { |
- fShaderContext->~Context(); |
-} |
- |
-void SkFilterShader::FilterShaderContext::shadeSpan(int x, int y, SkPMColor result[], int count) { |
- const SkFilterShader& filterShader = static_cast<const SkFilterShader&>(fShader); |
- |
- fShaderContext->shadeSpan(x, y, result, count); |
- filterShader.fFilter->filterSpan(result, count, result); |
-} |
- |
-#ifndef SK_IGNORE_TO_STRING |
-void SkFilterShader::toString(SkString* str) const { |
- str->append("SkFilterShader: ("); |
- |
- str->append("Shader: "); |
- fShader->toString(str); |
- str->append(" Filter: "); |
- // TODO: add "fFilter->toString(str);" once SkColorFilter::toString is added |
- |
- this->INHERITED::toString(str); |
- |
- str->append(")"); |
-} |
-#endif |