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 /** Turn the path into a mask, respecting the specified local->device matrix. 268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com */ 278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com bool rasterize(const SkPath& path, const SkMatrix& matrix, 288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com const SkIRect* clipBounds, SkMaskFilter* filter, 29fdba4041c350b72791a1844ff0bc0af28cbb4199reed@google.com SkMask* mask, SkMask::CreateMode mode) const; 308a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 31c0b7e10c6a68f59e1653e6c18e6bc954b3c3f0cfcommit-bot@chromium.org SK_DEFINE_FLATTENABLE_TYPE(SkRasterizer) 32c0b7e10c6a68f59e1653e6c18e6bc954b3c3f0cfcommit-bot@chromium.org 338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 34f792a1b20747f769b28906a4b00fd67691ce8d0bcommit-bot@chromium.org SkRasterizer() {} 358b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org SkRasterizer(SkReadBuffer& buffer) : INHERITED(buffer) {} 368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual bool onRasterize(const SkPath& path, const SkMatrix& matrix, 388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com const SkIRect* clipBounds, 39fdba4041c350b72791a1844ff0bc0af28cbb4199reed@google.com SkMask* mask, SkMask::CreateMode mode) const; 408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com typedef SkFlattenable INHERITED; 438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif 46