diff options
author | reed <reed@google.com> | 2016-04-04 10:02:58 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-04 10:02:58 -0700 |
commit | efdfd51b68a300d5c6e28743fe0344ca05d1cec9 (patch) | |
tree | 3cd04d31a56219559e89f6eded6f7a894eb700ba /src | |
parent | 175cf0e51b9fbb075588c4d29e7e4257cea6f4ad (diff) |
switch maskfilters to sk_sp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852113003
Review URL: https://codereview.chromium.org/1852113003
Diffstat (limited to 'src')
-rw-r--r-- | src/animator/SkDrawBlur.cpp | 2 | ||||
-rw-r--r-- | src/animator/SkDrawEmboss.cpp | 4 | ||||
-rw-r--r-- | src/animator/SkDrawPaint.cpp | 2 | ||||
-rw-r--r-- | src/c/sk_paint.cpp | 3 | ||||
-rw-r--r-- | src/c/sk_surface.cpp | 2 | ||||
-rw-r--r-- | src/core/SkPaint.cpp | 4 | ||||
-rw-r--r-- | src/effects/SkBlurDrawLooper.cpp | 6 | ||||
-rw-r--r-- | src/effects/SkBlurMaskFilter.cpp | 6 | ||||
-rw-r--r-- | src/effects/SkEmbossMaskFilter.cpp | 14 | ||||
-rw-r--r-- | src/effects/SkLayerDrawLooper.cpp | 2 |
10 files changed, 23 insertions, 22 deletions
diff --git a/src/animator/SkDrawBlur.cpp b/src/animator/SkDrawBlur.cpp index 14f34acf9b..0acb13ec5a 100644 --- a/src/animator/SkDrawBlur.cpp +++ b/src/animator/SkDrawBlur.cpp @@ -29,5 +29,5 @@ SkMaskFilter* SkDrawBlur::getMaskFilter() { if (fSigma <= 0) { return nullptr; } - return SkBlurMaskFilter::Create((SkBlurStyle)fBlurStyle, fSigma); + return SkBlurMaskFilter::Make((SkBlurStyle)fBlurStyle, fSigma).release(); } diff --git a/src/animator/SkDrawEmboss.cpp b/src/animator/SkDrawEmboss.cpp index a1cd4dcd16..9f50f2449e 100644 --- a/src/animator/SkDrawEmboss.cpp +++ b/src/animator/SkDrawEmboss.cpp @@ -29,6 +29,6 @@ SkDrawEmboss::SkDrawEmboss() : fSigma(-1) { SkMaskFilter* SkDrawEmboss::getMaskFilter() { if (fSigma < 0 || fDirection.count() !=3) return nullptr; - return SkBlurMaskFilter::CreateEmboss(fSigma, fDirection.begin(), - fAmbient, fSpecular); + return SkBlurMaskFilter::MakeEmboss(fSigma, fDirection.begin(), + fAmbient, fSpecular).release(); } diff --git a/src/animator/SkDrawPaint.cpp b/src/animator/SkDrawPaint.cpp index fc1a413244..1336ea2dc4 100644 --- a/src/animator/SkDrawPaint.cpp +++ b/src/animator/SkDrawPaint.cpp @@ -229,7 +229,7 @@ void SkDrawPaint::setupPaint(SkPaint* paint) const { if (maskFilter == nullptr) paint->setMaskFilter(nullptr); else if (maskFilter != (SkDrawMaskFilter*) -1) - SkSafeUnref(paint->setMaskFilter(maskFilter->getMaskFilter())); + paint->setMaskFilter(sk_sp<SkMaskFilter>(maskFilter->getMaskFilter())); if (pathEffect == nullptr) paint->setPathEffect(nullptr); else if (pathEffect != (SkDrawPathEffect*) -1) diff --git a/src/c/sk_paint.cpp b/src/c/sk_paint.cpp index b48e28fb6d..f82cd815c1 100644 --- a/src/c/sk_paint.cpp +++ b/src/c/sk_paint.cpp @@ -5,6 +5,7 @@ * found in the LICENSE file. */ +#include "SkMaskFilter.h" #include "SkPaint.h" #include "SkShader.h" @@ -68,7 +69,7 @@ void sk_paint_set_shader(sk_paint_t* cpaint, sk_shader_t* cshader) { } void sk_paint_set_maskfilter(sk_paint_t* cpaint, sk_maskfilter_t* cfilter) { - AsPaint(cpaint)->setMaskFilter(AsMaskFilter(cfilter)); + AsPaint(cpaint)->setMaskFilter(sk_ref_sp(AsMaskFilter(cfilter))); } bool sk_paint_is_stroke(const sk_paint_t* cpaint) { diff --git a/src/c/sk_surface.cpp b/src/c/sk_surface.cpp index fcc22465c6..c9b25675a0 100644 --- a/src/c/sk_surface.cpp +++ b/src/c/sk_surface.cpp @@ -671,7 +671,7 @@ sk_maskfilter_t* sk_maskfilter_new_blur(sk_blurstyle_t cstyle, float sigma) { if (!find_blurstyle(cstyle, &style)) { return NULL; } - return ToMaskFilter(SkBlurMaskFilter::Create(style, sigma)); + return ToMaskFilter(SkBlurMaskFilter::Make(style, sigma).release()); } /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp index d5e4c08c1f..8bd386a762 100644 --- a/src/core/SkPaint.cpp +++ b/src/core/SkPaint.cpp @@ -386,7 +386,9 @@ SET_PTR(Xfermode) #ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR SET_PTR(PathEffect) #endif +#ifdef SK_SUPPORT_LEGACY_MASKFILTER_PTR SET_PTR(MaskFilter) +#endif #undef SET_PTR #ifdef SK_SUPPORT_LEGACY_MINOR_EFFECT_PTR @@ -2255,7 +2257,7 @@ SkTextBaseIter::SkTextBaseIter(const char text[], size_t length, } fPaint.setStyle(style); fPaint.setPathEffect(pe); - fPaint.setMaskFilter(paint.getMaskFilter()); // restore + fPaint.setMaskFilter(sk_ref_sp(paint.getMaskFilter())); // restore // now compute fXOffset if needed diff --git a/src/effects/SkBlurDrawLooper.cpp b/src/effects/SkBlurDrawLooper.cpp index 2578d092bb..30583747c9 100644 --- a/src/effects/SkBlurDrawLooper.cpp +++ b/src/effects/SkBlurDrawLooper.cpp @@ -34,7 +34,7 @@ void SkBlurDrawLooper::initEffects() { SkBlurMaskFilter::kHighQuality_BlurFlag : SkBlurMaskFilter::kNone_BlurFlag; - fBlur = SkBlurMaskFilter::Create(kNormal_SkBlurStyle, fSigma, flags); + fBlur = SkBlurMaskFilter::Make(kNormal_SkBlurStyle, fSigma, flags); } else { fBlur = nullptr; } @@ -78,10 +78,6 @@ void SkBlurDrawLooper::flatten(SkWriteBuffer& buffer) const { buffer.write32(fBlurFlags); } -SkBlurDrawLooper::~SkBlurDrawLooper() { - SkSafeUnref(fBlur); -} - bool SkBlurDrawLooper::asABlurShadow(BlurShadowRec* rec) const { if (fSigma <= 0 || (fBlurFlags & fBlurFlags & kIgnoreTransform_BlurFlag)) { return false; diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp index ec4fd939fa..bb6a8a5ae6 100644 --- a/src/effects/SkBlurMaskFilter.cpp +++ b/src/effects/SkBlurMaskFilter.cpp @@ -123,7 +123,7 @@ private: const SkScalar SkBlurMaskFilterImpl::kMAX_BLUR_SIGMA = SkIntToScalar(128); -SkMaskFilter* SkBlurMaskFilter::Create(SkBlurStyle style, SkScalar sigma, uint32_t flags) { +sk_sp<SkMaskFilter> SkBlurMaskFilter::Make(SkBlurStyle style, SkScalar sigma, uint32_t flags) { if (!SkScalarIsFinite(sigma) || sigma <= 0) { return nullptr; } @@ -133,7 +133,7 @@ SkMaskFilter* SkBlurMaskFilter::Create(SkBlurStyle style, SkScalar sigma, uint32 if (flags > SkBlurMaskFilter::kAll_BlurFlag) { return nullptr; } - return new SkBlurMaskFilterImpl(sigma, style, flags); + return sk_sp<SkMaskFilter>(new SkBlurMaskFilterImpl(sigma, style, flags)); } /////////////////////////////////////////////////////////////////////////////// @@ -586,7 +586,7 @@ sk_sp<SkFlattenable> SkBlurMaskFilterImpl::CreateProc(SkReadBuffer& buffer) { const unsigned style = buffer.readUInt(); const unsigned flags = buffer.readUInt(); if (style <= kLastEnum_SkBlurStyle) { - return sk_sp<SkFlattenable>(SkBlurMaskFilter::Create((SkBlurStyle)style, sigma, flags)); + return SkBlurMaskFilter::Make((SkBlurStyle)style, sigma, flags); } return nullptr; } diff --git a/src/effects/SkEmbossMaskFilter.cpp b/src/effects/SkEmbossMaskFilter.cpp index aa93e5a594..5f3952d1ad 100644 --- a/src/effects/SkEmbossMaskFilter.cpp +++ b/src/effects/SkEmbossMaskFilter.cpp @@ -13,19 +13,21 @@ #include "SkWriteBuffer.h" #include "SkString.h" -SkMaskFilter* SkEmbossMaskFilter::Create(SkScalar blurSigma, const Light& light) { - return new SkEmbossMaskFilter(blurSigma, light); +sk_sp<SkMaskFilter> SkEmbossMaskFilter::Make(SkScalar blurSigma, const Light& light) { + return sk_sp<SkMaskFilter>(new SkEmbossMaskFilter(blurSigma, light)); } +#ifdef SK_SUPPORT_LEGACY_MASKFILTER_PTR SkMaskFilter* SkBlurMaskFilter::CreateEmboss(const SkScalar direction[3], SkScalar ambient, SkScalar specular, SkScalar blurRadius) { return SkBlurMaskFilter::CreateEmboss(SkBlurMask::ConvertRadiusToSigma(blurRadius), direction, ambient, specular); } +#endif -SkMaskFilter* SkBlurMaskFilter::CreateEmboss(SkScalar blurSigma, const SkScalar direction[3], - SkScalar ambient, SkScalar specular) { +sk_sp<SkMaskFilter> SkBlurMaskFilter::MakeEmboss(SkScalar blurSigma, const SkScalar direction[3], + SkScalar ambient, SkScalar specular) { if (direction == nullptr) { return nullptr; } @@ -39,7 +41,7 @@ SkMaskFilter* SkBlurMaskFilter::CreateEmboss(SkScalar blurSigma, const SkScalar static const SkScalar kSpecularMultiplier = SkIntToScalar(255) / 16; light.fSpecular = static_cast<U8CPU>(SkScalarPin(specular, 0, 16) * kSpecularMultiplier + 0.5); - return SkEmbossMaskFilter::Create(blurSigma, light); + return SkEmbossMaskFilter::Make(blurSigma, light); } /////////////////////////////////////////////////////////////////////////////// @@ -117,7 +119,7 @@ sk_sp<SkFlattenable> SkEmbossMaskFilter::CreateProc(SkReadBuffer& buffer) { if (buffer.readByteArray(&light, sizeof(Light))) { light.fPad = 0; // for the font-cache lookup to be clean const SkScalar sigma = buffer.readScalar(); - return sk_sp<SkFlattenable>(Create(sigma, light)); + return Make(sigma, light); } return nullptr; } diff --git a/src/effects/SkLayerDrawLooper.cpp b/src/effects/SkLayerDrawLooper.cpp index ffcaa43e20..d8f774437e 100644 --- a/src/effects/SkLayerDrawLooper.cpp +++ b/src/effects/SkLayerDrawLooper.cpp @@ -95,7 +95,7 @@ void SkLayerDrawLooper::LayerDrawLooperContext::ApplyInfo( dst->setPathEffect(sk_ref_sp(src.getPathEffect())); } if (bits & kMaskFilter_Bit) { - dst->setMaskFilter(src.getMaskFilter()); + dst->setMaskFilter(sk_ref_sp(src.getMaskFilter())); } if (bits & kShader_Bit) { dst->setShader(sk_ref_sp(src.getShader())); |