Chromium Code Reviews| 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. |