aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-04-04 10:02:58 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-04 10:02:58 -0700
commitefdfd51b68a300d5c6e28743fe0344ca05d1cec9 (patch)
tree3cd04d31a56219559e89f6eded6f7a894eb700ba /src
parent175cf0e51b9fbb075588c4d29e7e4257cea6f4ad (diff)
switch maskfilters to sk_sp
Diffstat (limited to 'src')
-rw-r--r--src/animator/SkDrawBlur.cpp2
-rw-r--r--src/animator/SkDrawEmboss.cpp4
-rw-r--r--src/animator/SkDrawPaint.cpp2
-rw-r--r--src/c/sk_paint.cpp3
-rw-r--r--src/c/sk_surface.cpp2
-rw-r--r--src/core/SkPaint.cpp4
-rw-r--r--src/effects/SkBlurDrawLooper.cpp6
-rw-r--r--src/effects/SkBlurMaskFilter.cpp6
-rw-r--r--src/effects/SkEmbossMaskFilter.cpp14
-rw-r--r--src/effects/SkLayerDrawLooper.cpp2
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()));