Index: src/gpu/GrAAConvexTessellator.h |
diff --git a/src/gpu/GrAAConvexTessellator.h b/src/gpu/GrAAConvexTessellator.h |
index 707995fadd4b80e3e85cdbf73be61fdfb29a220c..ac74a72b60ea083917ba3386297560732fc26fdc 100644 |
--- a/src/gpu/GrAAConvexTessellator.h |
+++ b/src/gpu/GrAAConvexTessellator.h |
@@ -48,7 +48,7 @@ public: |
int index(int index) const { return fIndices[index]; } |
SkScalar depth(int index) const {return fDepths[index]; } |
-#if GR_AA_CONVEX_TESSELLATOR_VIZ |
+#if GR_AA__CONVEX_TESSELLATOR_VIZ |
bsalomon
2015/05/29 15:07:56
why the extra underscore?
ethannicholas
2015/06/02 20:20:41
Screwed up a search and repla... errr.... I mean..
|
void draw(SkCanvas* canvas) const; |
#endif |
@@ -140,7 +140,7 @@ private: |
int index(int index) const { return fPts[index].fIndex; } |
int origEdgeID(int index) const { return fPts[index].fOrigEdgeId; } |
- #if GR_AA_CONVEX_TESSELLATOR_VIZ |
+ #if GR_AA__CONVEX_TESSELLATOR_VIZ |
bsalomon
2015/05/29 15:07:56
and here?
|
void draw(SkCanvas* canvas, const GrAAConvexTessellator& tess) const; |
#endif |
@@ -165,7 +165,7 @@ private: |
// Movable points are those that can be slid along their bisector. |
// Basically, a point is immovable if it is part of the original |
// polygon or it results from the fusing of two bisectors. |
- int addPt(const SkPoint& pt, SkScalar depth, bool movable); |
+ int addPt(const SkPoint& pt, SkScalar depth, bool movable, bool isCurve); |
void popLastPt(); |
void popFirstPtShuffle(); |
@@ -185,6 +185,14 @@ private: |
int edgeIdx, SkScalar desiredDepth, |
SkPoint* result) const; |
+ void lineTo(const SkMatrix& m, SkPoint p, bool isCurve); |
+ |
+ void quadTo(const SkMatrix& m, SkPoint* pts); |
bsalomon
2015/05/29 15:07:56
pts[2] (and similar for below two funcs)?
|
+ |
+ void cubicTo(const SkMatrix& m, SkPoint* pts); |
+ |
+ void conicTo(const SkMatrix& m, SkPoint* pts, SkScalar w); |
+ |
void terminate(const Ring& lastRing); |
// return false on failure/degenerate path |
@@ -217,13 +225,18 @@ private: |
// The inward facing bisector at each point in the original polygon. Only |
// needed for exterior ring creation and then handed off to the initial ring. |
SkTDArray<SkVector> fBisectors; |
+ |
+ // Tracks whether a given point is interior to a curve. Such points are |
+ // assumed to have shallow curvature. |
+ SkTDArray<bool> fIsCurve; |
+ |
SkPoint::Side fSide; // winding of the original polygon |
// The triangulation of the points |
SkTDArray<int> fIndices; |
Ring fInitialRing; |
-#if GR_AA_CONVEX_TESSELLATOR_VIZ |
+#if GR_AA__CONVEX_TESSELLATOR_VIZ |
bsalomon
2015/05/29 15:07:56
and here
|
// When visualizing save all the rings |
SkTDArray<Ring*> fRings; |
#else |
@@ -233,6 +246,8 @@ private: |
SkScalar fTargetDepth; |
+ SkTDArray<SkPoint> fPointBuffer; |
+ |
// If some goes wrong with the inset computation the tessellator will |
// truncate the creation of the inset polygon. In this case the depth |
// check will complain. |