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