Chromium Code Reviews| Index: src/gpu/GrTessellator.h |
| diff --git a/src/gpu/GrTessellator.h b/src/gpu/GrTessellator.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7089a2a3de8ab7035748b1858f52ac98b708cff0 |
| --- /dev/null |
| +++ b/src/gpu/GrTessellator.h |
| @@ -0,0 +1,40 @@ |
| +/* |
| + * Copyright 2015 Google Inc. |
| + * |
| + * Use of this source code is governed by a BSD-style license that can be |
| + * found in the LICENSE file. |
| + */ |
| + |
| +#ifndef GrTessellator_DEFINED |
| +#define GrTessellator_DEFINED |
| + |
| +#include "SkChunkAlloc.h" |
| +#include "GrPathRenderer.h" |
|
Stephen White
2016/01/05 19:12:51
Are these #includes still necessary?
|
| + |
| +/** |
| + * Provides utility functions for converting paths to a collection of triangles. |
| + */ |
| + |
| +#define TESSELLATOR_WIREFRAME 0 |
| + |
| +namespace GrTessellator { |
| + |
| +struct WindingVertex { |
| + SkPoint fPos; |
| + int fWinding; |
| +}; |
| + |
| +// Triangulates a path to an array of vertices. Each triangle is represented as a set of three |
| +// WindingVertex entries, each of which contains the position and winding count (which is the same |
| +// for all three vertices of a triangle). The 'verts' out parameter is set to point to the resultant |
| +// vertex array. CALLER IS RESPONSIBLE for deleting this buffer to avoid a memory leak! |
| +int PathToVertices(const SkPath& path, SkScalar tolerance, const SkRect& clipBounds, |
| + WindingVertex** verts); |
| + |
| +int PathToTriangles(const SkPath& path, SkScalar tolerance, const SkRect& clipBounds, |
| + GrResourceProvider* resourceProvider, |
| + SkAutoTUnref<GrVertexBuffer>& vertexBuffer, bool canMapVB, bool* isLinear); |
| + |
| +} |
| + |
| +#endif |