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 8class SK_API SkDownSampleImageFilter : public SkImageFilter { 9public: 10 static SkDownSampleImageFilter* Create(SkScalar scale) { 11 return SkNEW_ARGS(SkDownSampleImageFilter, (scale)); 12 } 13 14 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter) 15 16protected: 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 24private: 25 SkScalar fScale; 26 27 typedef SkImageFilter INHERITED; 28}; 29 30#endif 31