Home | History | Annotate | Download | only in effects
      1 /*
      2  * Copyright 2011 The Android Open Source Project
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #ifndef SkBlurImageFilter_DEFINED
      9 #define SkBlurImageFilter_DEFINED
     10 
     11 #include "SkImageFilter.h"
     12 #include "SkSize.h"
     13 
     14 class SK_API SkBlurImageFilter : public SkImageFilter {
     15 public:
     16     SkBlurImageFilter(SkScalar sigmaX,
     17                       SkScalar sigmaY,
     18                       SkImageFilter* input = NULL,
     19                       const SkIRect* cropRect = NULL);
     20 
     21     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurImageFilter)
     22 
     23 protected:
     24     explicit SkBlurImageFilter(SkFlattenableReadBuffer& buffer);
     25     virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
     26 
     27     virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
     28                                SkBitmap* result, SkIPoint* offset) SK_OVERRIDE;
     29 
     30     bool canFilterImageGPU() const SK_OVERRIDE { return true; }
     31     virtual bool filterImageGPU(Proxy* proxy, const SkBitmap& src, const SkMatrix& ctm,
     32                                 SkBitmap* result, SkIPoint* offset) SK_OVERRIDE;
     33 
     34 private:
     35     SkSize   fSigma;
     36     typedef SkImageFilter INHERITED;
     37 };
     38 
     39 #endif
     40