Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Unified Diff: src/utils/SkCubicInterval.cpp

Issue 1533393005: remove unused SkCubicInterval (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/utils/SkCubicInterval.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
-}
« no previous file with comments | « include/utils/SkCubicInterval.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698