| Index: src/effects/SkImageSource.cpp
|
| diff --git a/src/effects/SkImageSource.cpp b/src/effects/SkImageSource.cpp
|
| index 25d37e30016723c5a419c27e4837e369bb4f7a66..c0a8deebf95f7b505ee274383c3c0fb1c556b924 100644
|
| --- a/src/effects/SkImageSource.cpp
|
| +++ b/src/effects/SkImageSource.cpp
|
| @@ -15,25 +15,25 @@
|
| #include "SkWriteBuffer.h"
|
| #include "SkString.h"
|
|
|
| -SkImageFilter* SkImageSource::Create(const SkImage* image) {
|
| +SkImageFilter* SkImageSource::Create(SkImage* image) {
|
| return image ? new SkImageSource(image) : nullptr;
|
| }
|
|
|
| -SkImageFilter* SkImageSource::Create(const SkImage* image,
|
| +SkImageFilter* SkImageSource::Create(SkImage* image,
|
| const SkRect& srcRect,
|
| const SkRect& dstRect,
|
| SkFilterQuality filterQuality) {
|
| return image ? new SkImageSource(image, srcRect, dstRect, filterQuality) : nullptr;
|
| }
|
|
|
| -SkImageSource::SkImageSource(const SkImage* image)
|
| +SkImageSource::SkImageSource(SkImage* image)
|
| : INHERITED(0, nullptr)
|
| , fImage(SkRef(image))
|
| , fSrcRect(SkRect::MakeIWH(image->width(), image->height()))
|
| , fDstRect(fSrcRect)
|
| , fFilterQuality(kHigh_SkFilterQuality) { }
|
|
|
| -SkImageSource::SkImageSource(const SkImage* image,
|
| +SkImageSource::SkImageSource(SkImage* image,
|
| const SkRect& srcRect,
|
| const SkRect& dstRect,
|
| SkFilterQuality filterQuality)
|
| @@ -62,7 +62,7 @@ void SkImageSource::flatten(SkWriteBuffer& buffer) const {
|
| buffer.writeInt(fFilterQuality);
|
| buffer.writeRect(fSrcRect);
|
| buffer.writeRect(fDstRect);
|
| - buffer.writeImage(fImage);
|
| + buffer.writeImage(fImage.get());
|
| }
|
|
|
| SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Context& ctx,
|
| @@ -74,9 +74,9 @@ SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Conte
|
| if (fSrcRect == bounds && dstRect == bounds) {
|
| // No regions cropped out or resized; return entire image.
|
| offset->fX = offset->fY = 0;
|
| - return SkSpecialImage::NewFromImage(source->internal_getProxy(),
|
| - SkIRect::MakeWH(fImage->width(), fImage->height()),
|
| - fImage);
|
| + return SkSpecialImage::MakeFromImage(source->internal_getProxy(),
|
| + SkIRect::MakeWH(fImage->width(), fImage->height()),
|
| + fImage).release();
|
| }
|
|
|
| const SkIRect dstIRect = dstRect.roundOut();
|
| @@ -84,7 +84,7 @@ SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Conte
|
| const SkImageInfo info = SkImageInfo::MakeN32(dstIRect.width(), dstIRect.height(),
|
| kPremul_SkAlphaType);
|
|
|
| - SkAutoTUnref<SkSpecialSurface> surf(source->newSurface(info));
|
| + sk_sp<SkSpecialSurface> surf(source->makeSurface(info));
|
| if (!surf) {
|
| return nullptr;
|
| }
|
| @@ -105,11 +105,12 @@ SkSpecialImage* SkImageSource::onFilterImage(SkSpecialImage* source, const Conte
|
| paint.setFilterQuality(
|
| fSrcRect.width() == dstRect.width() && fSrcRect.height() == dstRect.height() ?
|
| kNone_SkFilterQuality : fFilterQuality);
|
| - canvas->drawImageRect(fImage, fSrcRect, dstRect, &paint, SkCanvas::kStrict_SrcRectConstraint);
|
| + canvas->drawImageRect(fImage.get(), fSrcRect, dstRect, &paint,
|
| + SkCanvas::kStrict_SrcRectConstraint);
|
|
|
| offset->fX = dstIRect.fLeft;
|
| offset->fY = dstIRect.fTop;
|
| - return surf->newImageSnapshot();
|
| + return surf->makeImageSnapshot().release();
|
| }
|
|
|
| void SkImageSource::computeFastBounds(const SkRect& src, SkRect* dst) const {
|
|
|