• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 class SkRasterizer : public SkFlattenable {
22 public:
SkRasterizer()23     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 
flatten(SkFlattenableWriteBuffer &)31     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
44