| Index: src/utils/SkCubicInterval.cpp
|
| diff --git a/src/utils/SkCubicInterval.cpp b/src/utils/SkCubicInterval.cpp
|
| deleted file mode 100644
|
| index 566023a24477445a7dd9db197c33fd3fb7b4a367..0000000000000000000000000000000000000000
|
| --- a/src/utils/SkCubicInterval.cpp
|
| +++ /dev/null
|
| @@ -1,67 +0,0 @@
|
| -
|
| -/*
|
| - * Copyright 2011 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -#include "SkCubicInterval.h"
|
| -
|
| -static SkScalar eval_cubic(SkScalar c1, SkScalar c2, SkScalar c3,
|
| - SkScalar t) {
|
| - return SkScalarMul(SkScalarMul(SkScalarMul(c3, t) + c2, t) + c1, t);
|
| -}
|
| -
|
| -static SkScalar find_cubic_t(SkScalar c1, SkScalar c2, SkScalar c3,
|
| - SkScalar targetX) {
|
| - SkScalar minT = 0;
|
| - SkScalar maxT = SK_Scalar1;
|
| - SkScalar t;
|
| -
|
| - for (;;) {
|
| - t = SkScalarAve(minT, maxT);
|
| - SkScalar x = eval_cubic(c1, c2, c3, t);
|
| - if (SkScalarNearlyZero(x - targetX)) {
|
| - break;
|
| - }
|
| - // subdivide the range and try again
|
| - if (x < targetX) {
|
| - minT = t;
|
| - } else {
|
| - maxT = t;
|
| - }
|
| - }
|
| - return t;
|
| -}
|
| -
|
| -/*
|
| - a(1-t)^3 + 3bt(1-t)^2 + 3ct^2(1-t) + dt^3
|
| - a: [0, 0]
|
| - d: [1, 1]
|
| -
|
| - 3bt - 6bt^2 + 3bt^3 + 3ct^2 - 3ct^3 + t^3
|
| - C1 = t^1: 3b
|
| - C2 = t^2: 3c - 6b
|
| - C3 = t^3: 3b - 3c + 1
|
| -
|
| - ((C3*t + C2)*t + C1)*t
|
| - */
|
| -SkScalar SkEvalCubicInterval(SkScalar x1, SkScalar y1,
|
| - SkScalar x2, SkScalar y2,
|
| - SkScalar unitX) {
|
| - x1 = SkScalarPin(x1, 0, SK_Scalar1);
|
| - x2 = SkScalarPin(x2, 0, SK_Scalar1);
|
| - unitX = SkScalarPin(unitX, 0, SK_Scalar1);
|
| -
|
| - // First compute our coefficients in X
|
| - x1 *= 3;
|
| - x2 *= 3;
|
| -
|
| - // now search for t given unitX
|
| - SkScalar t = find_cubic_t(x1, x2 - 2*x1, x1 - x2 + SK_Scalar1, unitX);
|
| -
|
| - // now evaluate the cubic in Y
|
| - y1 *= 3;
|
| - y2 *= 3;
|
| - return eval_cubic(y1, y2 - 2*y1, y1 - y2 + SK_Scalar1, t);
|
| -}
|
|
|