| Index: src/gpu/GrAAConvexPathRenderer.cpp
|
| diff --git a/src/gpu/GrAAConvexPathRenderer.cpp b/src/gpu/GrAAConvexPathRenderer.cpp
|
| index 5d08aa5c9938c019ecacbeaf950bf6a3a93a2bcd..45a4ca37831532d86f42b9f5507d934fe4222c0d 100644
|
| --- a/src/gpu/GrAAConvexPathRenderer.cpp
|
| +++ b/src/gpu/GrAAConvexPathRenderer.cpp
|
| @@ -22,6 +22,7 @@
|
| #include "GrPipelineBuilder.h"
|
| #include "GrStrokeInfo.h"
|
| #include "SkGeometry.h"
|
| +#include "SkPathPriv.h"
|
| #include "SkString.h"
|
| #include "SkTraceEvent.h"
|
| #include "gl/GrGLProcessor.h"
|
| @@ -116,7 +117,7 @@ static void center_of_mass(const SegmentArray& segments, SkPoint* c) {
|
|
|
| static void compute_vectors(SegmentArray* segments,
|
| SkPoint* fanPt,
|
| - SkPath::Direction dir,
|
| + SkPathPriv::FirstDirection dir,
|
| int* vCount,
|
| int* iCount) {
|
| center_of_mass(*segments, fanPt);
|
| @@ -124,7 +125,7 @@ static void compute_vectors(SegmentArray* segments,
|
|
|
| // Make the normals point towards the outside
|
| SkPoint::Side normSide;
|
| - if (dir == SkPath::kCCW_Direction) {
|
| + if (dir == SkPathPriv::kCCW_FirstDirection) {
|
| normSide = SkPoint::kRight_Side;
|
| } else {
|
| normSide = SkPoint::kLeft_Side;
|
| @@ -212,8 +213,9 @@ static void update_degenerate_test(DegenerateTestData* data, const SkPoint& pt)
|
| }
|
| }
|
|
|
| -static inline bool get_direction(const SkPath& path, const SkMatrix& m, SkPath::Direction* dir) {
|
| - if (!path.cheapComputeDirection(dir)) {
|
| +static inline bool get_direction(const SkPath& path, const SkMatrix& m,
|
| + SkPathPriv::FirstDirection* dir) {
|
| + if (!SkPathPriv::CheapComputeFirstDirection(path, dir)) {
|
| return false;
|
| }
|
| // check whether m reverses the orientation
|
| @@ -221,7 +223,7 @@ static inline bool get_direction(const SkPath& path, const SkMatrix& m, SkPath::
|
| SkScalar det2x2 = SkScalarMul(m.get(SkMatrix::kMScaleX), m.get(SkMatrix::kMScaleY)) -
|
| SkScalarMul(m.get(SkMatrix::kMSkewX), m.get(SkMatrix::kMSkewY));
|
| if (det2x2 < 0) {
|
| - *dir = SkPath::OppositeDirection(*dir);
|
| + *dir = SkPathPriv::OppositeFirstDirection(*dir);
|
| }
|
| return true;
|
| }
|
| @@ -248,7 +250,7 @@ static inline void add_quad_segment(const SkPoint pts[3],
|
| }
|
|
|
| static inline void add_cubic_segments(const SkPoint pts[4],
|
| - SkPath::Direction dir,
|
| + SkPathPriv::FirstDirection dir,
|
| SegmentArray* segments) {
|
| SkSTArray<15, SkPoint, true> quads;
|
| GrPathUtils::convertCubicToQuads(pts, SK_Scalar1, true, dir, &quads);
|
| @@ -273,7 +275,7 @@ static bool get_segments(const SkPath& path,
|
| // line paths. We detect paths that are very close to a line (zero area) and
|
| // draw nothing.
|
| DegenerateTestData degenerateData;
|
| - SkPath::Direction dir;
|
| + SkPathPriv::FirstDirection dir;
|
| // get_direction can fail for some degenerate paths.
|
| if (!get_direction(path, m, &dir)) {
|
| return false;
|
|
|