Index: src/core/SkEdgeBuilder.h |
diff --git a/src/core/SkEdgeBuilder.h b/src/core/SkEdgeBuilder.h |
index 59f62870e7475fe8a5b87cc0c6c1aff258951aa3..097e796de74d851fa070d7ce3588573e3844c042 100644 |
--- a/src/core/SkEdgeBuilder.h |
+++ b/src/core/SkEdgeBuilder.h |
@@ -12,6 +12,7 @@ |
#include "SkTDArray.h" |
struct SkEdge; |
+struct SkAnalyticEdge; |
class SkEdgeClipper; |
class SkPath; |
@@ -21,9 +22,11 @@ public: |
// returns the number of built edges. The array of those edge pointers |
// is returned from edgeList(). |
- int build(const SkPath& path, const SkIRect* clip, int shiftUp, bool clipToTheRight); |
+ int build(const SkPath& path, const SkIRect* clip, int shiftUp, bool clipToTheRight, |
+ bool analyticAA = false); |
- SkEdge** edgeList() { return fEdgeList; } |
+ SkEdge** edgeList() { return (SkEdge**)fEdgeList; } |
+ SkAnalyticEdge** analyticEdgeList() { return (SkAnalyticEdge**)fEdgeList; } |
private: |
enum Combine { |
@@ -32,11 +35,15 @@ private: |
kTotal_Combine |
}; |
- static Combine CombineVertical(const SkEdge* edge, SkEdge* last); |
+ Combine CombineVertical(const SkEdge* edge, SkEdge* last); |
+ Combine CombineVertical(const SkAnalyticEdge* edge, SkAnalyticEdge* last); |
Combine checkVertical(const SkEdge* edge, SkEdge** edgePtr); |
+ Combine checkVertical(const SkAnalyticEdge* edge, SkAnalyticEdge** edgePtr); |
+ bool vertical_line(const SkEdge* edge); |
+ bool vertical_line(const SkAnalyticEdge* edge); |
SkChunkAlloc fAlloc; |
- SkTDArray<SkEdge*> fList; |
+ SkTDArray<void*> fList; |
/* |
* If we're in general mode, we allcoate the pointers in fList, and this |
@@ -44,9 +51,10 @@ private: |
* empty, as we will have preallocated room for the pointers in fAlloc's |
* block, and fEdgeList will point into that. |
*/ |
- SkEdge** fEdgeList; |
+ void** fEdgeList; |
int fShiftUp; |
+ bool fAnalyticAA; |
public: |
void addLine(const SkPoint pts[]); |