132d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com#ifndef _SkTestImageFilters_h
232d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com#define _SkTestImageFilters_h
332d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com
432d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com#include "SkImageFilter.h"
5c73dd5c6880739f26216f198c757028fd28df1a4djsollen@google.com#include "SkPoint.h"
632d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com
732d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com// Fun mode that scales down (only) and then scales back up to look pixelated
86806fe87e0b39e283291c1a1c7d1d864230aa2aatfarina@chromium.orgclass SK_API SkDownSampleImageFilter : public SkImageFilter {
932d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.compublic:
10cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977commit-bot@chromium.org    static SkDownSampleImageFilter* Create(SkScalar scale) {
11cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977commit-bot@chromium.org        return SkNEW_ARGS(SkDownSampleImageFilter, (scale));
12cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977commit-bot@chromium.org    }
13fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com
14ba28d03e94dc221d6a803bf2a84a420b9159255cdjsollen@google.com    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter)
15fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com
1632d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.comprotected:
17cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977commit-bot@chromium.org    SkDownSampleImageFilter(SkScalar scale) : INHERITED(0), fScale(scale) {}
188b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org    SkDownSampleImageFilter(SkReadBuffer& buffer);
198b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org    virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
20fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com
214cb543d6057b692e1099e9f115155f0bf323a0c8senorblanco@chromium.org    virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
22ae761f7545d8ebf181d220169afac2056b057b8ccommit-bot@chromium.org                               SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE;
23fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com
2432d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.comprivate:
2532d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com    SkScalar fScale;
26fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com
2732d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com    typedef SkImageFilter INHERITED;
2832d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com};
2932d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com
3032d25b6f5f4355d4c5281694034ba3a5aa2cf571reed@google.com#endif
31