diff --git a/examples/fn/widgets/widgets.dart b/examples/fn/widgets/widgets.dart index e2746e77e896f42620d03e91016ad46df2b617cd..4556641608ca0cb3e0995bd193ae93eb7989f6df 100644 --- a/examples/fn/widgets/widgets.dart +++ b/examples/fn/widgets/widgets.dart @@ -2,6 +2,7 @@ library widgets; import '../../../framework/animation/curves.dart'; import '../../../framework/animation/fling-curve.dart'; +import '../../../framework/animation/generator.dart'; import '../../../framework/fn.dart'; import '../../../framework/theme/colors.dart'; import '../../../framework/theme/shadows.dart'; @@ -10,7 +11,6 @@ import 'dart:async'; import 'dart:math' as math; import 'dart:sky' as sky; -part 'animationgenerator.dart'; part 'box.dart'; part 'button.dart'; part 'buttonbase.dart'; diff --git a/examples/fn/widgets/animationgenerator.dart b/framework/animation/generator.dart similarity index 84% rename from examples/fn/widgets/animationgenerator.dart rename to framework/animation/generator.dart index ef916548946b2892db204aaee920b0ae8470ff76..0b5055050a98bcf8d1ddf73bfd5381dafe0cb2e7 100644 --- a/examples/fn/widgets/animationgenerator.dart +++ b/framework/animation/generator.dart @@ -1,7 +1,13 @@ -part of widgets; +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. -class FrameGenerator { +import 'curves.dart'; +import 'dart:async'; +import 'dart:math' as math; +import 'dart:sky' as sky; +class FrameGenerator { Function onDone; StreamController _controller; @@ -46,7 +52,6 @@ class FrameGenerator { } class AnimationGenerator extends FrameGenerator { - Stream get onTick => _stream; final double duration; final double begin; @@ -62,12 +67,9 @@ class AnimationGenerator extends FrameGenerator { Function onDone }):super(onDone: onDone) { double startTime = 0.0; - double targetTime = 0.0; _stream = super.onTick.map((timeStamp) { - if (startTime == 0.0) { + if (startTime == 0.0) startTime = timeStamp; - targetTime = startTime + duration; - } return math.min((timeStamp - startTime) / duration, 1.0); }) .takeWhile(_checkForCompletion)