Home | History | Annotate | Download | only in effects
      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