1 #ifndef _SkTestImageFilters_h
2 #define _SkTestImageFilters_h
4 #include "SkImageFilter.h"
7 // Fun mode that scales down (only) and then scales back up to look pixelated
8 class SK_API SkDownSampleImageFilter : public SkImageFilter {
10 static SkDownSampleImageFilter* Create(SkScalar scale, SkImageFilter* input = NULL) {
11 if (!SkScalarIsFinite(scale)) {
14 // we don't support scale in this range
15 if (scale > SK_Scalar1 || scale <= 0) {
18 return SkNEW_ARGS(SkDownSampleImageFilter, (scale, input));
21 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter)
24 SkDownSampleImageFilter(SkScalar scale, SkImageFilter* input)
25 : INHERITED(1, &input), fScale(scale) {}
26 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
27 SkDownSampleImageFilter(SkReadBuffer& buffer);
29 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
31 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
32 SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE;
37 typedef SkImageFilter INHERITED;