Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / include / effects / SkTestImageFilters.h
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, SkImageFilter* input = NULL) {
11         return SkNEW_ARGS(SkDownSampleImageFilter, (scale, input));
12     }
13
14     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter)
15
16 protected:
17     SkDownSampleImageFilter(SkScalar scale, SkImageFilter* input)
18       : INHERITED(1, &input), fScale(scale) {}
19     SkDownSampleImageFilter(SkReadBuffer& buffer);
20     virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
21
22     virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
23                                SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE;
24
25 private:
26     SkScalar fScale;
27
28     typedef SkImageFilter INHERITED;
29 };
30
31 #endif