aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkPaint.h
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-03-05 16:39:25 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-05 16:39:25 -0800
commita917eba6ea8a6936f2c9271e487b14d14b99c98e (patch)
treecf811cfa4782daeb084209c6eaea89a2e3b1ecb6 /include/core/SkPaint.h
parentffa39e02bc34a33c23fcccd61b781b5d05a980d3 (diff)
add setter on SkPaint that takes sk_sp
Diffstat (limited to 'include/core/SkPaint.h')
-rw-r--r--include/core/SkPaint.h45
1 files changed, 27 insertions, 18 deletions
diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h
index 7090f3e249..39ee1e0de1 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;