• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
Create()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
getFormat()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:
SkStippleMaskFilter()35     SkStippleMaskFilter() : INHERITED() {
36     }
SkStippleMaskFilter(SkReadBuffer & buffer)37     explicit SkStippleMaskFilter(SkReadBuffer& buffer)
38         : SkMaskFilter(buffer) {
39     }
40 
41 private:
42     typedef SkMaskFilter INHERITED;
43 };
44 
45 #endif // SkStippleMaskFilter_DEFINED
46