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