SkStippleMaskFilter.h revision 0bd80fa01bba2b3f0f49937fcb17928c74bde5a6
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 */
16class SK_API SkStippleMaskFilter : public SkMaskFilter {
17public:
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
33protected:
34    SkStippleMaskFilter(SkFlattenableReadBuffer& buffer)
35    : SkMaskFilter(buffer) {
36    }
37
38private:
39    typedef SkMaskFilter INHERITED;
40};
41
42#endif // SkStippleMaskFilter_DEFINED
43