1 #ifndef _SkTestImageFilters_h 2 #define _SkTestImageFilters_h 3 4 #include "SkImageFilter.h" 5 #include "SkPoint.h" 6 7 // Fun mode that scales down (only) and then scales back up to look pixelated 8 class SK_API SkDownSampleImageFilter : public SkImageFilter { 9 public: 10 static SkDownSampleImageFilter* Create(SkScalar scale) { 11 return SkNEW_ARGS(SkDownSampleImageFilter, (scale)); 12 } 13 14 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter) 15 16 protected: 17 SkDownSampleImageFilter(SkScalar scale) : INHERITED(0), fScale(scale) {} 18 SkDownSampleImageFilter(SkReadBuffer& buffer); 19 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; 20 21 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, 22 SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE; 23 24 private: 25 SkScalar fScale; 26 27 typedef SkImageFilter INHERITED; 28 }; 29 30 #endif 31