| 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[]);
|
|
|