diff options
Diffstat (limited to 'src/gpu/GrPathUtils.cpp')
-rw-r--r-- | src/gpu/GrPathUtils.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gpu/GrPathUtils.cpp b/src/gpu/GrPathUtils.cpp index 918493982a..91a48f7b6b 100644 --- a/src/gpu/GrPathUtils.cpp +++ b/src/gpu/GrPathUtils.cpp @@ -11,6 +11,7 @@ #include "SkGeometry.h" #include "SkMathPriv.h" +static const int MAX_POINTS_PER_CURVE = 1 << 10; static const SkScalar gMinCurveTol = 0.0001f; SkScalar GrPathUtils::scaleToleranceToSrc(SkScalar devTol, @@ -44,7 +45,7 @@ uint32_t GrPathUtils::quadraticPointCount(const SkPoint points[], SkScalar tol) SkScalar d = points[1].distanceToLineSegmentBetween(points[0], points[2]); if (!SkScalarIsFinite(d)) { - return kMaxPointsPerCurve; + return MAX_POINTS_PER_CURVE; } else if (d <= tol) { return 1; } else { @@ -54,7 +55,7 @@ uint32_t GrPathUtils::quadraticPointCount(const SkPoint points[], SkScalar tol) // 2^(log4(x)) = sqrt(x); SkScalar divSqrt = SkScalarSqrt(d / tol); if (((SkScalar)SK_MaxS32) <= divSqrt) { - return kMaxPointsPerCurve; + return MAX_POINTS_PER_CURVE; } else { int temp = SkScalarCeilToInt(divSqrt); int pow2 = GrNextPow2(temp); @@ -64,7 +65,7 @@ uint32_t GrPathUtils::quadraticPointCount(const SkPoint points[], SkScalar tol) if (pow2 < 1) { pow2 = 1; } - return SkTMin(pow2, kMaxPointsPerCurve); + return SkTMin(pow2, MAX_POINTS_PER_CURVE); } } } @@ -104,13 +105,13 @@ uint32_t GrPathUtils::cubicPointCount(const SkPoint points[], points[2].distanceToLineSegmentBetweenSqd(points[0], points[3])); d = SkScalarSqrt(d); if (!SkScalarIsFinite(d)) { - return kMaxPointsPerCurve; + return MAX_POINTS_PER_CURVE; } else if (d <= tol) { return 1; } else { SkScalar divSqrt = SkScalarSqrt(d / tol); if (((SkScalar)SK_MaxS32) <= divSqrt) { - return kMaxPointsPerCurve; + return MAX_POINTS_PER_CURVE; } else { int temp = SkScalarCeilToInt(SkScalarSqrt(d / tol)); int pow2 = GrNextPow2(temp); @@ -120,7 +121,7 @@ uint32_t GrPathUtils::cubicPointCount(const SkPoint points[], if (pow2 < 1) { pow2 = 1; } - return SkTMin(pow2, kMaxPointsPerCurve); + return SkTMin(pow2, MAX_POINTS_PER_CURVE); } } } |