Index: src/core/SkScalerContext.h |
diff --git a/src/core/SkScalerContext.h b/src/core/SkScalerContext.h |
index f2df93cef31ad611c79fd8bf3f9c003778753829..262901676737f9adb004d7694d1174300b335511 100644 |
--- a/src/core/SkScalerContext.h |
+++ b/src/core/SkScalerContext.h |
@@ -20,6 +20,13 @@ class SkMaskFilter; |
class SkPathEffect; |
class SkRasterizer; |
+struct SkScalerContextEffects { |
+ sk_sp<SkTypeface> fTypeface; |
+ sk_sp<SkPathEffect> fPathEffect; |
+ sk_sp<SkMaskFilter> fMaskFilter; |
+ sk_sp<SkRasterizer> fRasterizer; |
+}; |
+ |
enum SkAxisAlignment { |
kNone_SkAxisAlignment, |
kX_SkAxisAlignment, |
@@ -192,8 +199,7 @@ public: |
kHinting_Mask = kHintingBit1_Flag | kHintingBit2_Flag, |
}; |
- |
- SkScalerContext(SkTypeface*, const SkDescriptor*); |
+ SkScalerContext(const SkScalerContextEffects&, const SkDescriptor*); |
virtual ~SkScalerContext(); |
SkTypeface* getTypeface() const { return fTypeface.get(); } |
@@ -318,12 +324,12 @@ private: |
friend class SkRandomScalerContext; // For debug purposes |
// never null |
- SkAutoTUnref<SkTypeface> fTypeface; |
+ sk_sp<SkTypeface> fTypeface; |
- // optional object, which may be null |
- SkPathEffect* fPathEffect; |
- SkMaskFilter* fMaskFilter; |
- SkRasterizer* fRasterizer; |
+ // optional objects, which may be null |
+ sk_sp<SkPathEffect> fPathEffect; |
+ sk_sp<SkMaskFilter> fMaskFilter; |
+ sk_sp<SkRasterizer> fRasterizer; |
// if this is set, we draw the image from a path, rather than |
// calling generateImage. |