SkRasterizer.h revision 4200dfe9c1a2c0e99a7155a63fbffb01e9d1fd28
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 28a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com/* 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project 48a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com * 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 78a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */ 88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 9ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef SkRasterizer_DEFINED 118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define SkRasterizer_DEFINED 128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkFlattenable.h" 148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkMask.h" 158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkMaskFilter; 178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkMatrix; 188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkPath; 198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comstruct SkIRect; 208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 214200dfe9c1a2c0e99a7155a63fbffb01e9d1fd28bungeman@google.comclass SK_API SkRasterizer : public SkFlattenable { 228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.compublic: 230456e0b7b85060e9b9597ce414c4c2b19aff4f58robertphillips@google.com SK_DECLARE_INST_COUNT(SkRasterizer) 240456e0b7b85060e9b9597ce414c4c2b19aff4f58robertphillips@google.com 258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkRasterizer() {} 268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com /** Turn the path into a mask, respecting the specified local->device matrix. 288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */ 298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com bool rasterize(const SkPath& path, const SkMatrix& matrix, 308a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com const SkIRect* clipBounds, SkMaskFilter* filter, 318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkMask* mask, SkMask::CreateMode mode); 328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 3454924243c1b65b3ee6d8fa064b50a9b1bb2a19a5djsollen@google.com SkRasterizer(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {} 358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual bool onRasterize(const SkPath& path, const SkMatrix& matrix, 378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com const SkIRect* clipBounds, 388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkMask* mask, SkMask::CreateMode mode); 398a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com typedef SkFlattenable INHERITED; 428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif 45