| Index: include/core/SkPaint.h
|
| diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h
|
| index 7090f3e2499f3f68255ae1fc3e641e9e37f1dd81..39ee1e0de1d9b98a1b7b7c005ebd8bb44dc5522d 100644
|
| --- a/include/core/SkPaint.h
|
| +++ b/include/core/SkPaint.h
|
| @@ -476,7 +476,7 @@ public:
|
| The shader's reference count is not affected.
|
| @return the paint's shader (or NULL)
|
| */
|
| - SkShader* getShader() const { return fShader; }
|
| + SkShader* getShader() const { return fShader.get(); }
|
|
|
| /** Set or clear the shader object.
|
| * Shaders specify the source color(s) for what is being drawn. If a paint
|
| @@ -500,12 +500,13 @@ public:
|
| * @return shader
|
| */
|
| SkShader* setShader(SkShader* shader);
|
| + void setShader(sk_sp<SkShader>);
|
|
|
| /** Get the paint's colorfilter. If there is a colorfilter, its reference
|
| count is not changed.
|
| @return the paint's colorfilter (or NULL)
|
| */
|
| - SkColorFilter* getColorFilter() const { return fColorFilter; }
|
| + SkColorFilter* getColorFilter() const { return fColorFilter.get(); }
|
|
|
| /** Set or clear the paint's colorfilter, returning the parameter.
|
| <p />
|
| @@ -515,13 +516,14 @@ public:
|
| @return filter
|
| */
|
| SkColorFilter* setColorFilter(SkColorFilter* filter);
|
| + void setColorFilter(sk_sp<SkColorFilter>);
|
|
|
| /** Get the paint's xfermode object.
|
| <p />
|
| The xfermode's reference count is not affected.
|
| @return the paint's xfermode (or NULL)
|
| */
|
| - SkXfermode* getXfermode() const { return fXfermode; }
|
| + SkXfermode* getXfermode() const { return fXfermode.get(); }
|
|
|
| /** Set or clear the xfermode object.
|
| <p />
|
| @@ -534,6 +536,7 @@ public:
|
| @return xfermode
|
| */
|
| SkXfermode* setXfermode(SkXfermode* xfermode);
|
| + void setXfermode(sk_sp<SkXfermode>);
|
|
|
| /** Create an xfermode based on the specified Mode, and assign it into the
|
| paint, returning the mode that was set. If the Mode is SrcOver, then
|
| @@ -546,7 +549,7 @@ public:
|
| The patheffect reference count is not affected.
|
| @return the paint's patheffect (or NULL)
|
| */
|
| - SkPathEffect* getPathEffect() const { return fPathEffect; }
|
| + SkPathEffect* getPathEffect() const { return fPathEffect.get(); }
|
|
|
| /** Set or clear the patheffect object.
|
| <p />
|
| @@ -559,13 +562,14 @@ public:
|
| @return effect
|
| */
|
| SkPathEffect* setPathEffect(SkPathEffect* effect);
|
| + void setPathEffect(sk_sp<SkPathEffect>);
|
|
|
| /** Get the paint's maskfilter object.
|
| <p />
|
| The maskfilter reference count is not affected.
|
| @return the paint's maskfilter (or NULL)
|
| */
|
| - SkMaskFilter* getMaskFilter() const { return fMaskFilter; }
|
| + SkMaskFilter* getMaskFilter() const { return fMaskFilter.get(); }
|
|
|
| /** Set or clear the maskfilter object.
|
| <p />
|
| @@ -578,6 +582,7 @@ public:
|
| @return maskfilter
|
| */
|
| SkMaskFilter* setMaskFilter(SkMaskFilter* maskfilter);
|
| + void setMaskFilter(sk_sp<SkMaskFilter>);
|
|
|
| // These attributes are for text/fonts
|
|
|
| @@ -587,7 +592,7 @@ public:
|
| measuring text. The typeface reference count is not affected.
|
| @return the paint's typeface (or NULL)
|
| */
|
| - SkTypeface* getTypeface() const { return fTypeface; }
|
| + SkTypeface* getTypeface() const { return fTypeface.get(); }
|
|
|
| /** Set or clear the typeface object.
|
| <p />
|
| @@ -600,13 +605,14 @@ public:
|
| @return typeface
|
| */
|
| SkTypeface* setTypeface(SkTypeface* typeface);
|
| + void setTypeface(sk_sp<SkTypeface>);
|
|
|
| /** Get the paint's rasterizer (or NULL).
|
| <p />
|
| The raster controls how paths/text are turned into alpha masks.
|
| @return the paint's rasterizer (or NULL)
|
| */
|
| - SkRasterizer* getRasterizer() const { return fRasterizer; }
|
| + SkRasterizer* getRasterizer() const { return fRasterizer.get(); }
|
|
|
| /** Set or clear the rasterizer object.
|
| <p />
|
| @@ -620,15 +626,17 @@ public:
|
| @return rasterizer
|
| */
|
| SkRasterizer* setRasterizer(SkRasterizer* rasterizer);
|
| + void setRasterizer(sk_sp<SkRasterizer>);
|
|
|
| - SkImageFilter* getImageFilter() const { return fImageFilter; }
|
| + SkImageFilter* getImageFilter() const { return fImageFilter.get(); }
|
| SkImageFilter* setImageFilter(SkImageFilter*);
|
| + void setImageFilter(sk_sp<SkImageFilter>);
|
|
|
| /**
|
| * Return the paint's SkDrawLooper (if any). Does not affect the looper's
|
| * reference count.
|
| */
|
| - SkDrawLooper* getLooper() const { return fLooper; }
|
| + SkDrawLooper* getLooper() const { return fLooper.get(); }
|
|
|
| /**
|
| * Set or clear the looper object.
|
| @@ -642,6 +650,7 @@ public:
|
| * @return looper
|
| */
|
| SkDrawLooper* setLooper(SkDrawLooper* looper);
|
| + void setLooper(sk_sp<SkDrawLooper>);
|
|
|
| enum Align {
|
| kLeft_Align,
|
| @@ -1026,15 +1035,15 @@ public:
|
| SK_TO_STRING_NONVIRT()
|
|
|
| private:
|
| - SkTypeface* fTypeface;
|
| - SkPathEffect* fPathEffect;
|
| - SkShader* fShader;
|
| - SkXfermode* fXfermode;
|
| - SkMaskFilter* fMaskFilter;
|
| - SkColorFilter* fColorFilter;
|
| - SkRasterizer* fRasterizer;
|
| - SkDrawLooper* fLooper;
|
| - SkImageFilter* fImageFilter;
|
| + sk_sp<SkTypeface> fTypeface;
|
| + sk_sp<SkPathEffect> fPathEffect;
|
| + sk_sp<SkShader> fShader;
|
| + sk_sp<SkXfermode> fXfermode;
|
| + sk_sp<SkMaskFilter> fMaskFilter;
|
| + sk_sp<SkColorFilter> fColorFilter;
|
| + sk_sp<SkRasterizer> fRasterizer;
|
| + sk_sp<SkDrawLooper> fLooper;
|
| + sk_sp<SkImageFilter> fImageFilter;
|
|
|
| SkScalar fTextSize;
|
| SkScalar fTextScaleX;
|
|
|