SkTestImageFilters.h revision 4a9a612b5200597cca0bda0a356250835cbdc7d6
1#ifndef _SkTestImageFilters_h 2#define _SkTestImageFilters_h 3 4#include "SkImageFilter.h" 5#include "SkPoint.h" 6 7class SK_API SkComposeImageFilter : public SkImageFilter { 8public: 9 SkComposeImageFilter(SkImageFilter* outer, SkImageFilter* inner) : INHERITED(outer, inner) {} 10 virtual ~SkComposeImageFilter(); 11 12 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeImageFilter) 13 14protected: 15 SkComposeImageFilter(SkFlattenableReadBuffer& buffer); 16 17 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, 18 SkBitmap* result, SkIPoint* loc) SK_OVERRIDE; 19 virtual bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) SK_OVERRIDE; 20 21private: 22 typedef SkImageFilter INHERITED; 23}; 24 25/////////////////////////////////////////////////////////////////////////////// 26 27// Fun mode that scales down (only) and then scales back up to look pixelated 28class SK_API SkDownSampleImageFilter : public SkImageFilter { 29public: 30 SkDownSampleImageFilter(SkScalar scale) : INHERITED(0), fScale(scale) {} 31 32 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter) 33 34protected: 35 SkDownSampleImageFilter(SkFlattenableReadBuffer& buffer); 36 virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; 37 38 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, 39 SkBitmap* result, SkIPoint* loc) SK_OVERRIDE; 40 41private: 42 SkScalar fScale; 43 44 typedef SkImageFilter INHERITED; 45}; 46 47#endif 48