/* * Copyright 2011 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkEdgeBuilder_DEFINED #define SkEdgeBuilder_DEFINED #include "SkChunkAlloc.h" #include "SkRect.h" #include "SkTDArray.h" struct SkEdge; class SkEdgeClipper; class SkPath; class SkEdgeBuilder { public: SkEdgeBuilder(); int build(const SkPath& path, const SkIRect* clip, int shiftUp); SkEdge** edgeList() { return fList.begin(); } private: SkChunkAlloc fAlloc; SkTDArray<SkEdge*> fList; int fShiftUp; void addLine(const SkPoint pts[]); void addQuad(const SkPoint pts[]); void addCubic(const SkPoint pts[]); void addClipper(SkEdgeClipper*); }; #endif