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 16class SkMaskFilter; 17class SkMatrix; 18class SkPath; 19struct SkIRect; 20 21class SkRasterizer : public SkFlattenable { 22public: 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 31 virtual void flatten(SkFlattenableWriteBuffer& ) SK_OVERRIDE {} 32protected: 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 39private: 40 typedef SkFlattenable INHERITED; 41}; 42 43#endif 44