aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2016-03-24 07:26:32 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-24 07:26:32 -0700
commit2302de920e5434809bd0e85b871a6e002856dfdb (patch)
tree895491a700be4a79a3da2faa95dd8f553537bdf8 /src/effects
parent85f9269d9b05c25f3d7b9ac5435f2bf8951e7db3 (diff)
Switch new SkImageFilter internal methods over to sk_sp
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkBlurImageFilter.cpp15
-rw-r--r--src/effects/SkColorFilterImageFilter.cpp9
-rw-r--r--src/effects/SkComposeImageFilter.cpp11
-rw-r--r--src/effects/SkDropShadowImageFilter.cpp9
-rw-r--r--src/effects/SkImageSource.cpp8
-rwxr-xr-xsrc/effects/SkMergeImageFilter.cpp11
-rw-r--r--src/effects/SkOffsetImageFilter.cpp12
-rw-r--r--src/effects/SkPaintImageFilter.cpp8
8 files changed, 43 insertions, 40 deletions
diff --git a/src/effects/SkBlurImageFilter.cpp b/src/effects/SkBlurImageFilter.cpp
index c2cf3563e7..692b6c9b80 100644
--- a/src/effects/SkBlurImageFilter.cpp
+++ b/src/effects/SkBlurImageFilter.cpp
@@ -70,11 +70,12 @@ static void get_box3_params(SkScalar s, int *kernelSize, int* kernelSize3, int *
}
}
-SkSpecialImage* SkBlurImageFilter::onFilterImage(SkSpecialImage* source, const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkBlurImageFilter::onFilterImage(SkSpecialImage* source,
+ const Context& ctx,
+ SkIPoint* offset) const {
SkIPoint inputOffset = SkIPoint::Make(0, 0);
- SkAutoTUnref<SkSpecialImage> input(this->filterInput(0, source, ctx, &inputOffset));
+ sk_sp<SkSpecialImage> input(this->filterInput(0, source, ctx, &inputOffset));
if (!input) {
return nullptr;
}
@@ -98,7 +99,7 @@ SkSpecialImage* SkBlurImageFilter::onFilterImage(SkSpecialImage* source, const C
offset->fX = inputBounds.x();
offset->fY = inputBounds.y();
return input->makeSubset(inputBounds.makeOffset(-inputOffset.x(),
- -inputOffset.y())).release();
+ -inputOffset.y()));
}
GrTexture* inputTexture = input->peekTexture();
@@ -122,7 +123,7 @@ SkSpecialImage* SkBlurImageFilter::onFilterImage(SkSpecialImage* source, const C
return SkSpecialImage::MakeFromGpu(source->internal_getProxy(),
SkIRect::MakeWH(dstBounds.width(), dstBounds.height()),
kNeedNewImageUniqueID_SpecialImage,
- tex).release();
+ tex);
}
#endif
@@ -139,7 +140,7 @@ SkSpecialImage* SkBlurImageFilter::onFilterImage(SkSpecialImage* source, const C
offset->fX = inputBounds.x();
offset->fY = inputBounds.y();
return input->makeSubset(inputBounds.makeOffset(-inputOffset.x(),
- -inputOffset.y())).release();
+ -inputOffset.y()));
}
SkPixmap inputPixmap;
@@ -214,7 +215,7 @@ SkSpecialImage* SkBlurImageFilter::onFilterImage(SkSpecialImage* source, const C
return SkSpecialImage::MakeFromRaster(source->internal_getProxy(),
SkIRect::MakeWH(dstBounds.width(),
dstBounds.height()),
- dst).release();
+ dst);
}
diff --git a/src/effects/SkColorFilterImageFilter.cpp b/src/effects/SkColorFilterImageFilter.cpp
index a93997fabd..1e2cdacb97 100644
--- a/src/effects/SkColorFilterImageFilter.cpp
+++ b/src/effects/SkColorFilterImageFilter.cpp
@@ -52,10 +52,11 @@ void SkColorFilterImageFilter::flatten(SkWriteBuffer& buffer) const {
buffer.writeFlattenable(fColorFilter.get());
}
-SkSpecialImage* SkColorFilterImageFilter::onFilterImage(SkSpecialImage* source, const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkColorFilterImageFilter::onFilterImage(SkSpecialImage* source,
+ const Context& ctx,
+ SkIPoint* offset) const {
SkIPoint inputOffset = SkIPoint::Make(0, 0);
- SkAutoTUnref<SkSpecialImage> input(this->filterInput(0, source, ctx, &inputOffset));
+ sk_sp<SkSpecialImage> input(this->filterInput(0, source, ctx, &inputOffset));
if (!input) {
return nullptr;
}
@@ -91,7 +92,7 @@ SkSpecialImage* SkColorFilterImageFilter::onFilterImage(SkSpecialImage* source,
offset->fX = bounds.fLeft;
offset->fY = bounds.fTop;
- return surf->makeImageSnapshot().release();
+ return surf->makeImageSnapshot();
}
bool SkColorFilterImageFilter::onIsColorFilterNode(SkColorFilter** filter) const {
diff --git a/src/effects/SkComposeImageFilter.cpp b/src/effects/SkComposeImageFilter.cpp
index 86a4d50389..c6722d5458 100644
--- a/src/effects/SkComposeImageFilter.cpp
+++ b/src/effects/SkComposeImageFilter.cpp
@@ -19,8 +19,9 @@ SkRect SkComposeImageFilter::computeFastBounds(const SkRect& src) const {
return outer->computeFastBounds(inner->computeFastBounds(src));
}
-SkSpecialImage* SkComposeImageFilter::onFilterImage(SkSpecialImage* source, const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkComposeImageFilter::onFilterImage(SkSpecialImage* source,
+ const Context& ctx,
+ SkIPoint* offset) const {
// The bounds passed to the inner filter must be filtered by the outer
// filter, so that the inner filter produces the pixels that the outer
// filter requires as input. This matters if the outer filter moves pixels.
@@ -28,7 +29,7 @@ SkSpecialImage* SkComposeImageFilter::onFilterImage(SkSpecialImage* source, cons
innerClipBounds = getInput(0)->filterBounds(ctx.clipBounds(), ctx.ctm());
Context innerContext(ctx.ctm(), innerClipBounds, ctx.cache());
SkIPoint innerOffset = SkIPoint::Make(0, 0);
- SkAutoTUnref<SkSpecialImage> inner(this->filterInput(1, source, innerContext, &innerOffset));
+ sk_sp<SkSpecialImage> inner(this->filterInput(1, source, innerContext, &innerOffset));
if (!inner) {
return nullptr;
}
@@ -40,13 +41,13 @@ SkSpecialImage* SkComposeImageFilter::onFilterImage(SkSpecialImage* source, cons
Context outerContext(outerMatrix, clipBounds, ctx.cache());
SkIPoint outerOffset = SkIPoint::Make(0, 0);
- SkAutoTUnref<SkSpecialImage> outer(this->filterInput(0, inner, outerContext, &outerOffset));
+ sk_sp<SkSpecialImage> outer(this->filterInput(0, inner.get(), outerContext, &outerOffset));
if (!outer) {
return nullptr;
}
*offset = innerOffset + outerOffset;
- return outer.release();
+ return outer;
}
SkIRect SkComposeImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix& ctm,
diff --git a/src/effects/SkDropShadowImageFilter.cpp b/src/effects/SkDropShadowImageFilter.cpp
index 2ae2a12757..93c11ca1bb 100644
--- a/src/effects/SkDropShadowImageFilter.cpp
+++ b/src/effects/SkDropShadowImageFilter.cpp
@@ -51,10 +51,11 @@ void SkDropShadowImageFilter::flatten(SkWriteBuffer& buffer) const {
buffer.writeInt(static_cast<int>(fShadowMode));
}
-SkSpecialImage* SkDropShadowImageFilter::onFilterImage(SkSpecialImage* source, const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkDropShadowImageFilter::onFilterImage(SkSpecialImage* source,
+ const Context& ctx,
+ SkIPoint* offset) const {
SkIPoint inputOffset = SkIPoint::Make(0, 0);
- SkAutoTUnref<SkSpecialImage> input(this->filterInput(0, source, ctx, &inputOffset));
+ sk_sp<SkSpecialImage> input(this->filterInput(0, source, ctx, &inputOffset));
if (!input) {
return nullptr;
}
@@ -101,7 +102,7 @@ SkSpecialImage* SkDropShadowImageFilter::onFilterImage(SkSpecialImage* source, c
}
offset->fX = bounds.fLeft;
offset->fY = bounds.fTop;
- return surf->makeImageSnapshot().release();
+ return surf->makeImageSnapshot();
}
SkRect SkDropShadowImageFilter::computeFastBounds(const SkRect& src) const {
diff --git a/src/effects/SkImageSource.cpp b/src/effects/SkImageSource.cpp
index d63eda989f..f095df69a8 100644
--- a/src/effects/SkImageSource.cpp
+++ b/src/effects/SkImageSource.cpp
@@ -65,8 +65,8 @@ void SkImageSource::flatten(SkWriteBuffer& buffer) const {
buffer.writeImage(fImage.get());
}
-SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkImageSource::onFilterImage(SkSpecialImage* source, const Context& ctx,
+ SkIPoint* offset) const {
SkRect dstRect;
ctx.ctm().mapRect(&dstRect, fDstRect);
@@ -76,7 +76,7 @@ SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Conte
offset->fX = offset->fY = 0;
return SkSpecialImage::MakeFromImage(source->internal_getProxy(),
SkIRect::MakeWH(fImage->width(), fImage->height()),
- fImage).release();
+ fImage);
}
const SkIRect dstIRect = dstRect.roundOut();
@@ -110,7 +110,7 @@ SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Conte
offset->fX = dstIRect.fLeft;
offset->fY = dstIRect.fTop;
- return surf->makeImageSnapshot().release();
+ return surf->makeImageSnapshot();
}
SkRect SkImageSource::computeFastBounds(const SkRect& src) const {
diff --git a/src/effects/SkMergeImageFilter.cpp b/src/effects/SkMergeImageFilter.cpp
index 01373b25bf..e3b99c690a 100755
--- a/src/effects/SkMergeImageFilter.cpp
+++ b/src/effects/SkMergeImageFilter.cpp
@@ -57,8 +57,8 @@ SkMergeImageFilter::~SkMergeImageFilter() {
}
}
-SkSpecialImage* SkMergeImageFilter::onFilterImage(SkSpecialImage* source, const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkMergeImageFilter::onFilterImage(SkSpecialImage* source, const Context& ctx,
+ SkIPoint* offset) const {
int inputCount = this->countInputs();
if (inputCount < 1) {
return nullptr;
@@ -67,14 +67,13 @@ SkSpecialImage* SkMergeImageFilter::onFilterImage(SkSpecialImage* source, const
SkIRect bounds;
bounds.setEmpty();
- SkAutoTDeleteArray<SkAutoTUnref<SkSpecialImage>> inputs(
- new SkAutoTUnref<SkSpecialImage>[inputCount]);
+ SkAutoTDeleteArray<sk_sp<SkSpecialImage>> inputs(new sk_sp<SkSpecialImage>[inputCount]);
SkAutoTDeleteArray<SkIPoint> offsets(new SkIPoint[inputCount]);
// Filter all of the inputs.
for (int i = 0; i < inputCount; ++i) {
offsets[i].setZero();
- inputs[i].reset(this->filterInput(i, source, ctx, &offsets[i]));
+ inputs[i] = this->filterInput(i, source, ctx, &offsets[i]);
if (!inputs[i]) {
continue;
}
@@ -126,7 +125,7 @@ SkSpecialImage* SkMergeImageFilter::onFilterImage(SkSpecialImage* source, const
offset->fX = bounds.left();
offset->fY = bounds.top();
- return surf->makeImageSnapshot().release();
+ return surf->makeImageSnapshot();
}
SkFlattenable* SkMergeImageFilter::CreateProc(SkReadBuffer& buffer) {
diff --git a/src/effects/SkOffsetImageFilter.cpp b/src/effects/SkOffsetImageFilter.cpp
index 8e4b87881d..05df229b3e 100644
--- a/src/effects/SkOffsetImageFilter.cpp
+++ b/src/effects/SkOffsetImageFilter.cpp
@@ -15,11 +15,11 @@
#include "SkSpecialSurface.h"
#include "SkWriteBuffer.h"
-SkSpecialImage* SkOffsetImageFilter::onFilterImage(SkSpecialImage* source,
- const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkOffsetImageFilter::onFilterImage(SkSpecialImage* source,
+ const Context& ctx,
+ SkIPoint* offset) const {
SkIPoint srcOffset = SkIPoint::Make(0, 0);
- SkAutoTUnref<SkSpecialImage> input(this->filterInput(0, source, ctx, &srcOffset));
+ sk_sp<SkSpecialImage> input(this->filterInput(0, source, ctx, &srcOffset));
if (!input) {
return nullptr;
}
@@ -30,7 +30,7 @@ SkSpecialImage* SkOffsetImageFilter::onFilterImage(SkSpecialImage* source,
if (!this->cropRectIsSet()) {
offset->fX = srcOffset.fX + SkScalarRoundToInt(vec.fX);
offset->fY = srcOffset.fY + SkScalarRoundToInt(vec.fY);
- return input.release();
+ return input;
} else {
SkIRect bounds;
SkIRect srcBounds = SkIRect::MakeWH(input->width(), input->height());
@@ -61,7 +61,7 @@ SkSpecialImage* SkOffsetImageFilter::onFilterImage(SkSpecialImage* source,
offset->fX = bounds.fLeft;
offset->fY = bounds.fTop;
- return surf->makeImageSnapshot().release();
+ return surf->makeImageSnapshot();
}
}
diff --git a/src/effects/SkPaintImageFilter.cpp b/src/effects/SkPaintImageFilter.cpp
index 02387cefc3..7056f26863 100644
--- a/src/effects/SkPaintImageFilter.cpp
+++ b/src/effects/SkPaintImageFilter.cpp
@@ -33,9 +33,9 @@ void SkPaintImageFilter::flatten(SkWriteBuffer& buffer) const {
buffer.writePaint(fPaint);
}
-SkSpecialImage* SkPaintImageFilter::onFilterImage(SkSpecialImage* source,
- const Context& ctx,
- SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkPaintImageFilter::onFilterImage(SkSpecialImage* source,
+ const Context& ctx,
+ SkIPoint* offset) const {
SkIRect bounds;
const SkIRect srcBounds = SkIRect::MakeWH(source->width(), source->height());
if (!this->applyCropRect(ctx, srcBounds, &bounds)) {
@@ -67,7 +67,7 @@ SkSpecialImage* SkPaintImageFilter::onFilterImage(SkSpecialImage* source,
offset->fX = bounds.fLeft;
offset->fY = bounds.fTop;
- return surf->makeImageSnapshot().release();
+ return surf->makeImageSnapshot();
}
bool SkPaintImageFilter::canComputeFastBounds() const {