OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "platform/animation/CubicBezierControlPoints.h" | 6 #include "platform/animation/CubicBezierControlPoints.h" |
7 | 7 |
8 #include "platform/animation/AnimationUtilities.h" | 8 #include "platform/animation/AnimationUtilities.h" |
| 9 #include <algorithm> |
9 | 10 |
10 namespace blink { | 11 namespace blink { |
11 | 12 |
12 static inline double square(double x) | 13 static inline double square(double x) |
13 { | 14 { |
14 return x*x; | 15 return x*x; |
15 } | 16 } |
16 | 17 |
17 // Divide the Bezier curve into two pieces at the given value of t using | 18 // Divide the Bezier curve into two pieces at the given value of t using |
18 // de Casteljau's algorithm. | 19 // de Casteljau's algorithm. |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 CubicBezierControlPoints leftSegment; | 208 CubicBezierControlPoints leftSegment; |
208 CubicBezierControlPoints rightSegment; | 209 CubicBezierControlPoints rightSegment; |
209 | 210 |
210 divide(0.5, leftSegment, rightSegment); | 211 divide(0.5, leftSegment, rightSegment); |
211 | 212 |
212 return (leftSegment.findIntersection(intersectionY, intersectionX) | 213 return (leftSegment.findIntersection(intersectionY, intersectionX) |
213 || rightSegment.findIntersection(intersectionY, intersectionX)); | 214 || rightSegment.findIntersection(intersectionY, intersectionX)); |
214 } | 215 } |
215 | 216 |
216 } // namespace blink | 217 } // namespace blink |
OLD | NEW |