| Index: src/effects/SkRectShaderImageFilter.cpp
|
| diff --git a/src/effects/SkRectShaderImageFilter.cpp b/src/effects/SkRectShaderImageFilter.cpp
|
| deleted file mode 100644
|
| index b3cdd896f1e80dba2a0cfd74f24769d983c3f14a..0000000000000000000000000000000000000000
|
| --- a/src/effects/SkRectShaderImageFilter.cpp
|
| +++ /dev/null
|
| @@ -1,94 +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 "SkRectShaderImageFilter.h"
|
| -#include "SkBitmap.h"
|
| -#include "SkCanvas.h"
|
| -#include "SkDevice.h"
|
| -#include "SkReadBuffer.h"
|
| -#include "SkWriteBuffer.h"
|
| -#include "SkShader.h"
|
| -
|
| -SkImageFilter* SkRectShaderImageFilter::Create(SkShader* s, const SkRect& rect) {
|
| - SkASSERT(s);
|
| - uint32_t flags = CropRect::kHasAll_CropEdge;
|
| - if (rect.width() == 0 || rect.height() == 0) {
|
| - flags = 0x0;
|
| - }
|
| - CropRect cropRect(rect, flags);
|
| - return s ? new SkRectShaderImageFilter(s, &cropRect) : nullptr;
|
| -}
|
| -
|
| -SkImageFilter* SkRectShaderImageFilter::Create(SkShader* s, const CropRect* cropRect) {
|
| - SkASSERT(s);
|
| - return s ? new SkRectShaderImageFilter(s, cropRect) : nullptr;
|
| -}
|
| -
|
| -SkRectShaderImageFilter::SkRectShaderImageFilter(SkShader* s, const CropRect* cropRect)
|
| - : INHERITED(0, nullptr, cropRect)
|
| - , fShader(SkRef(s)) {
|
| -}
|
| -
|
| -SkFlattenable* SkRectShaderImageFilter::CreateProc(SkReadBuffer& buffer) {
|
| - SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 0);
|
| - SkAutoTUnref<SkShader> shader(buffer.readShader());
|
| - return Create(shader.get(), &common.cropRect());
|
| -}
|
| -
|
| -void SkRectShaderImageFilter::flatten(SkWriteBuffer& buffer) const {
|
| - this->INHERITED::flatten(buffer);
|
| - buffer.writeFlattenable(fShader);
|
| -}
|
| -
|
| -SkRectShaderImageFilter::~SkRectShaderImageFilter() {
|
| - fShader->unref();
|
| -}
|
| -
|
| -bool SkRectShaderImageFilter::onFilterImage(Proxy* proxy,
|
| - const SkBitmap& source,
|
| - const Context& ctx,
|
| - SkBitmap* result,
|
| - SkIPoint* offset) const {
|
| - SkIRect bounds;
|
| - if (!this->applyCropRect(ctx, source, SkIPoint::Make(0, 0), &bounds)) {
|
| - return false;
|
| - }
|
| -
|
| - SkAutoTUnref<SkBaseDevice> device(proxy->createDevice(bounds.width(),
|
| - bounds.height()));
|
| - if (nullptr == device.get()) {
|
| - return false;
|
| - }
|
| - SkCanvas canvas(device.get());
|
| -
|
| - SkPaint paint;
|
| - SkMatrix matrix(ctx.ctm());
|
| - matrix.postTranslate(SkIntToScalar(-bounds.left()), SkIntToScalar(-bounds.top()));
|
| - SkSafeUnref(paint.setShader(fShader->newWithLocalMatrix(matrix)));
|
| -
|
| - SkRect rect = SkRect::MakeWH(SkIntToScalar(bounds.width()), SkIntToScalar(bounds.height()));
|
| - canvas.drawRect(rect, paint);
|
| -
|
| - *result = device.get()->accessBitmap(false);
|
| - offset->fX = bounds.fLeft;
|
| - offset->fY = bounds.fTop;
|
| - return true;
|
| -}
|
| -
|
| -bool SkRectShaderImageFilter::canComputeFastBounds() const {
|
| - // http:skbug.com/4627: "make computeFastBounds and onFilterBounds() CropRect-aware"
|
| - // computeFastBounds() doesn't currently take the crop rect into account,
|
| - // so we can't compute it. If a full crop rect is set, we should return true here.
|
| - return false;
|
| -}
|
| -
|
| -#ifndef SK_IGNORE_TO_STRING
|
| -void SkRectShaderImageFilter::toString(SkString* str) const {
|
| - str->appendf("SkRectShaderImageFilter: (");
|
| - str->append(")");
|
| -}
|
| -#endif
|
|
|