1 /* 2 * Copyright 2011 The Android Open Source Project 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 9 #ifndef SkBlurImageFilter_DEFINED 10 #define SkBlurImageFilter_DEFINED 11 12 #include "SkImageFilter.h" 13 14 class SK_API SkBlurImageFilter : public SkImageFilter { 15 public: 16 SkBlurImageFilter(SkScalar sigmaX, SkScalar sigmaY); 17 18 virtual bool asABlur(SkSize* sigma) const SK_OVERRIDE; 19 20 static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) { 21 return SkNEW_ARGS(SkBlurImageFilter, (buffer)); 22 } 23 24 SK_DECLARE_FLATTENABLE_REGISTRAR() 25 26 protected: 27 explicit SkBlurImageFilter(SkFlattenableReadBuffer& buffer); 28 29 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, 30 SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; 31 virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE; 32 virtual Factory getFactory() SK_OVERRIDE { return CreateProc; } 33 34 private: 35 SkSize fSigma; 36 typedef SkImageFilter INHERITED; 37 }; 38 39 #endif 40 41