Index: include/effects/SkBlurDrawLooper.h |
diff --git a/include/effects/SkBlurDrawLooper.h b/include/effects/SkBlurDrawLooper.h |
index 46b154debcae1737acec841a576008b316725999..23a86abff8587806c65a70da486d7f9a752fa8a8 100644 |
--- a/include/effects/SkBlurDrawLooper.h |
+++ b/include/effects/SkBlurDrawLooper.h |
@@ -43,9 +43,8 @@ public: |
uint32_t flags = kNone_BlurFlag); |
virtual ~SkBlurDrawLooper(); |
- // overrides from SkDrawLooper |
- virtual void init(SkCanvas*); |
- virtual bool next(SkCanvas*, SkPaint* paint); |
+ virtual SkDrawLooper::DrawContext* init( |
+ SkCanvas*, void* storage, size_t storageSize) const SK_OVERRIDE; |
SK_DEVELOPER_TO_STRING() |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurDrawLooper) |
@@ -66,7 +65,17 @@ private: |
kAfterEdge, |
kDone |
}; |
- State fState; |
+ |
+ class BlurDrawLooperContext : public SkDrawLooper::DrawContext { |
+ public: |
+ explicit BlurDrawLooperContext(const SkBlurDrawLooper* looper); |
+ |
+ virtual bool next(SkCanvas* canvas, SkPaint* paint) SK_OVERRIDE; |
+ |
+ private: |
+ const SkBlurDrawLooper* fLooper; |
+ State fState; |
+ }; |
void init(SkScalar sigma, SkScalar dx, SkScalar dy, SkColor color, uint32_t flags); |