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     SkStippleMaskFilter() : INHERITED() {
     19     }
     20 
     21     virtual bool filterMask(SkMask* dst, const SkMask& src,
     22                             const SkMatrix& matrix,
     23                             SkIPoint* margin) const SK_OVERRIDE;
     24 
     25     // getFormat is from SkMaskFilter
     26     virtual SkMask::Format getFormat() const SK_OVERRIDE {
     27         return SkMask::kA8_Format;
     28     }
     29 
     30     SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;)
     31     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkStippleMaskFilter);
     32 
     33 protected:
     34     SkStippleMaskFilter(SkFlattenableReadBuffer& buffer)
     35     : SkMaskFilter(buffer) {
     36     }
     37 
     38 private:
     39     typedef SkMaskFilter INHERITED;
     40 };
     41 
     42 #endif // SkStippleMaskFilter_DEFINED
     43