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