Skia
2DGraphicsLibrary
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SkRasterizer.h
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 SK_API SkRasterizer : public SkFlattenable {
22 public:
25  bool rasterize(const SkPath& path, const SkMatrix& matrix,
26  const SkIRect* clipBounds, SkMaskFilter* filter,
27  SkMask* mask, SkMask::CreateMode mode) const;
28 
29  SK_DEFINE_FLATTENABLE_TYPE(SkRasterizer)
30 
31 protected:
32  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
The SkPath class encapsulates compound (multiple contour) geometric paths consisting of straight line...
Definition: SkPath.h:25
CreateMode
Definition: SkMask.h:120
The SkMatrix class holds a 3x3 matrix for transforming coordinates.
Definition: SkMatrix.h:28
Definition: SkRefCnt.h:125
SkMask is used to describe alpha bitmaps, either 1bit, 8bit, or the 3-channel 3D format.
Definition: SkMask.h:19
Definition: SkRasterizer.h:21
SkFlattenable is the base class for objects that need to be flattened into a data stream for either t...
Definition: SkFlattenable.h:70
SkMaskFilter is the base class for object that perform transformations on an alpha-channel mask befor...
Definition: SkMaskFilter.h:47
SkIRect holds four 32 bit integer coordinates for a rectangle.
Definition: SkRect.h:20