aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPath.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkPath.cpp')
-rw-r--r--src/core/SkPath.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
index 873f433364..e6d606c1b1 100644
--- a/src/core/SkPath.cpp
+++ b/src/core/SkPath.cpp
@@ -1017,10 +1017,12 @@ static void add_corner_quads(SkPath* path, const SkRRect& rrect,
SkScalar ry = radii.fY;
// The mid point of the quadratic arc approximation is half way between the two
// control points.
- SkScalar midPtX = rx - rx * (SK_Scalar1 + SK_ScalarTanPIOver8) / 2;
- SkScalar midPtY = ry - ry * (SK_Scalar1 + SK_ScalarTanPIOver8) / 2;
- SkScalar offPtX = rx - rx * SK_ScalarTanPIOver8;
- SkScalar offPtY = ry - ry * SK_ScalarTanPIOver8;
+ const SkScalar mid = 1 - (SK_Scalar1 + SK_ScalarTanPIOver8) / 2;
+ SkScalar midPtX = rx * mid;
+ SkScalar midPtY = ry * mid;
+ const SkScalar control = 1 - SK_ScalarTanPIOver8;
+ SkScalar offPtX = rx * control;
+ SkScalar offPtY = ry * control;
static const int kCornerPts = 5;
SkScalar xOff[kCornerPts];
SkScalar yOff[kCornerPts];