Line data Source code
1 :
2 : /*
3 : * Copyright 2006 The Android Open Source Project
4 : *
5 : * Use of this source code is governed by a BSD-style license that can be
6 : * found in the LICENSE file.
7 : */
8 :
9 :
10 : #ifndef SkRasterizer_DEFINED
11 : #define SkRasterizer_DEFINED
12 :
13 : #include "SkFlattenable.h"
14 : #include "SkMask.h"
15 :
16 : class SkMaskFilter;
17 : class SkMatrix;
18 : class SkPath;
19 : struct SkIRect;
20 :
21 0 : class SK_API SkRasterizer : public SkFlattenable {
22 : public:
23 : /** Turn the path into a mask, respecting the specified local->device matrix.
24 : */
25 : bool rasterize(const SkPath& path, const SkMatrix& matrix,
26 : const SkIRect* clipBounds, SkMaskFilter* filter,
27 : SkMask* mask, SkMask::CreateMode mode) const;
28 :
29 0 : SK_DEFINE_FLATTENABLE_TYPE(SkRasterizer)
30 :
31 : protected:
32 0 : SkRasterizer() {}
33 : virtual bool onRasterize(const SkPath& path, const SkMatrix& matrix,
34 : const SkIRect* clipBounds,
35 : SkMask* mask, SkMask::CreateMode mode) const;
36 :
37 : private:
38 : typedef SkFlattenable INHERITED;
39 : };
40 :
41 : #endif
|