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: 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 SK_DEFINE_FLATTENABLE_TYPE(SkRasterizer)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 42