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 SkRasterizer : public SkFlattenable {
22 : public:
23 0 : SkRasterizer() {}
24 :
25 : /** Turn the path into a mask, respecting the specified local->device matrix.
26 : */
27 : bool rasterize(const SkPath& path, const SkMatrix& matrix,
28 : const SkIRect* clipBounds, SkMaskFilter* filter,
29 : SkMask* mask, SkMask::CreateMode mode);
30 :
31 0 : virtual void flatten(SkFlattenableWriteBuffer& ) SK_OVERRIDE {}
32 : protected:
33 : SkRasterizer(SkFlattenableReadBuffer&);
34 :
35 : virtual bool onRasterize(const SkPath& path, const SkMatrix& matrix,
36 : const SkIRect* clipBounds,
37 : SkMask* mask, SkMask::CreateMode mode);
38 :
39 : private:
40 : typedef SkFlattenable INHERITED;
41 : };
42 :
43 : #endif
|