11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 20910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 40910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 70910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project */ 80910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 91cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#ifndef SkRasterizer_DEFINED 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define SkRasterizer_DEFINED 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkFlattenable.h" 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkMask.h" 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectclass SkMaskFilter; 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectclass SkMatrix; 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectclass SkPath; 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectstruct SkIRect; 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectclass SkRasterizer : public SkFlattenable { 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectpublic: 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkRasterizer() {} 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project /** Turn the path into a mask, respecting the specified local->device matrix. 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project */ 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project bool rasterize(const SkPath& path, const SkMatrix& matrix, 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkIRect* clipBounds, SkMaskFilter* filter, 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkMask* mask, SkMask::CreateMode mode); 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 311cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger virtual void flatten(SkFlattenableWriteBuffer& ) SK_OVERRIDE {} 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectprotected: 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkRasterizer(SkFlattenableReadBuffer&); 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project virtual bool onRasterize(const SkPath& path, const SkMatrix& matrix, 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkIRect* clipBounds, 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkMask* mask, SkMask::CreateMode mode); 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectprivate: 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project typedef SkFlattenable INHERITED; 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 44