diff options
Diffstat (limited to 'include/core/SkPaint.h')
-rw-r--r-- | include/core/SkPaint.h | 45 |
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; |