From 38ef054f950ba76526cde3e0dbf8727015406623 Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Thu, 5 Mar 2015 09:59:22 -0800 Subject: [PATCH] Remove duplicate copy of animation/curves.dart in fn widgets Instead, we can just use the existing animation/curves.dart file in the framework. R=eseidel@chromium.org Review URL: https://codereview.chromium.org/976373003 --- examples/fn/widgets/animationgenerator.dart | 54 --------------------- examples/fn/widgets/widgets.dart | 1 + 2 files changed, 1 insertion(+), 54 deletions(-) diff --git a/examples/fn/widgets/animationgenerator.dart b/examples/fn/widgets/animationgenerator.dart index 5c163b6a7bd..ef916548946 100644 --- a/examples/fn/widgets/animationgenerator.dart +++ b/examples/fn/widgets/animationgenerator.dart @@ -81,57 +81,3 @@ class AnimationGenerator extends FrameGenerator { return true; } } - -double _evaluateCubic(double a, double b, double m) { - // TODO(abarth): Would Math.pow be faster? - return 3 * a * (1 - m) * (1 - m) * m + 3 * b * (1 - m) * m * m + m * m * m; -} - -const double _kCubicErrorBound = 0.001; - -abstract class Curve { - double transform(double t); -} - -class Linear implements Curve { - const Linear(); - - double transform(double t) { - return t; - } -} - -class Cubic implements Curve { - final double a; - final double b; - final double c; - final double d; - - const Cubic(this.a, this.b, this.c, this.d); - - double transform(double t) { - if (t == 0.0 || t == 1.0) - return t; - - double start = 0.0; - double end = 1.0; - while (true) { - double midpoint = (start + end) / 2; - double estimate = _evaluateCubic(a, c, midpoint); - - if ((t - estimate).abs() < _kCubicErrorBound) - return _evaluateCubic(b, d, midpoint); - - if (estimate < t) - start = midpoint; - else - end = midpoint; - } - } -} - -const Linear linear = const Linear(); -const Cubic ease = const Cubic(0.25, 0.1, 0.25, 1.0); -const Cubic easeIn = const Cubic(0.42, 0.0, 1.0, 1.0); -const Cubic easeOut = const Cubic(0.0, 0.0, 0.58, 1.0); -const Cubic easeInOut = const Cubic(0.42, 0.0, 0.58, 1.0); diff --git a/examples/fn/widgets/widgets.dart b/examples/fn/widgets/widgets.dart index 23ad0b91233..26ad915ca5d 100644 --- a/examples/fn/widgets/widgets.dart +++ b/examples/fn/widgets/widgets.dart @@ -2,6 +2,7 @@ library widgets; import '../lib/fn.dart'; import '../../../framework/fling-curve.dart'; +import '../../../framework/animation/curves.dart'; import '../../../framework/theme/colors.dart'; import '../../../framework/theme/shadows.dart'; import 'dart:collection';