Home | History | Annotate | Download | only in effects
      1 /*
      2  * Copyright 2012 Google Inc.
      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 SkStippleMaskFilter_DEFINED
      9 #define SkStippleMaskFilter_DEFINED
     10 
     11 #include "SkMaskFilter.h"
     12 
     13 /**
     14  * Simple MaskFilter that creates a screen door stipple pattern.
     15  */
     16 class SK_API SkStippleMaskFilter : public SkMaskFilter {
     17 public:
     18     static SkStippleMaskFilter* Create() {
     19         return SkNEW(SkStippleMaskFilter);
     20     }
     21 
     22     virtual bool filterMask(SkMask* dst, const SkMask& src,
     23                             const SkMatrix& matrix,
     24                             SkIPoint* margin) const SK_OVERRIDE;
     25 
     26     // getFormat is from SkMaskFilter
     27     virtual SkMask::Format getFormat() const SK_OVERRIDE {
     28         return SkMask::kA8_Format;
     29     }
     30 
     31     SK_TO_STRING_OVERRIDE()
     32     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkStippleMaskFilter);
     33 
     34 protected:
     35     SkStippleMaskFilter() : INHERITED() {
     36     }
     37     explicit SkStippleMaskFilter(SkReadBuffer& buffer)
     38         : SkMaskFilter(buffer) {
     39     }
     40 
     41 private:
     42     typedef SkMaskFilter INHERITED;
     43 };
     44 
     45 #endif // SkStippleMaskFilter_DEFINED
     46