| 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 import 'dart:sky' as sky; | 5 import 'dart:sky' as sky; |
| 6 | 6 |
| 7 import 'package:vector_math/vector_math.dart'; | 7 import 'package:vector_math/vector_math.dart'; |
| 8 import 'package:sky/animation/animation_performance.dart'; | 8 import 'package:sky/animation/animation_performance.dart'; |
| 9 import 'package:sky/animation/scroll_behavior.dart'; | 9 import 'package:sky/animation/scroll_behavior.dart'; |
| 10 import 'package:sky/base/lerp.dart'; | 10 import 'package:sky/base/lerp.dart'; |
| 11 import 'package:sky/painting/text_style.dart'; | 11 import 'package:sky/painting/text_style.dart'; |
| 12 import 'package:sky/theme/colors.dart'; | 12 import 'package:sky/theme/colors.dart'; |
| 13 import 'package:sky/widgets/animated_container.dart'; | 13 import 'package:sky/widgets/animation_builder.dart'; |
| 14 import 'package:sky/widgets/basic.dart'; | 14 import 'package:sky/widgets/basic.dart'; |
| 15 import 'package:sky/widgets/block_viewport.dart'; | 15 import 'package:sky/widgets/block_viewport.dart'; |
| 16 import 'package:sky/widgets/card.dart'; | 16 import 'package:sky/widgets/card.dart'; |
| 17 import 'package:sky/widgets/scaffold.dart'; | 17 import 'package:sky/widgets/scaffold.dart'; |
| 18 import 'package:sky/widgets/scrollable.dart'; | 18 import 'package:sky/widgets/scrollable.dart'; |
| 19 import 'package:sky/widgets/theme.dart'; | 19 import 'package:sky/widgets/theme.dart'; |
| 20 import 'package:sky/widgets/tool_bar.dart'; | 20 import 'package:sky/widgets/tool_bar.dart'; |
| 21 import 'package:sky/widgets/widget.dart'; | 21 import 'package:sky/widgets/widget.dart'; |
| 22 | 22 |
| 23 | 23 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 | 71 |
| 72 final List<double> cardHeights = [ | 72 final List<double> cardHeights = [ |
| 73 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0, | 73 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0, |
| 74 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0, | 74 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0, |
| 75 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0 | 75 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0 |
| 76 ]; | 76 ]; |
| 77 | 77 |
| 78 List<int> visibleCardIndices; | 78 List<int> visibleCardIndices; |
| 79 | 79 |
| 80 CardCollectionApp() { | 80 CardCollectionApp() { |
| 81 _activeCardTransform = new AnimatedContainer() | 81 _activeCardTransform = new AnimationBuilder() |
| 82 ..position = new AnimatedType<Point>(Point.origin) | 82 ..position = new AnimatedType<Point>(Point.origin) |
| 83 ..opacity = new AnimatedType<double>(1.0, end: 0.0); | 83 ..opacity = new AnimatedType<double>(1.0, end: 0.0); |
| 84 | 84 |
| 85 _activeCardAnimation = _activeCardTransform.createPerformance( | 85 _activeCardAnimation = _activeCardTransform.createPerformance( |
| 86 [_activeCardTransform.position, _activeCardTransform.opacity], | 86 [_activeCardTransform.position, _activeCardTransform.opacity], |
| 87 duration: new Duration(milliseconds: _kCardDismissFadeoutMS)); | 87 duration: new Duration(milliseconds: _kCardDismissFadeoutMS)); |
| 88 _activeCardAnimation.addListener(_handleAnimationProgressChanged); | 88 _activeCardAnimation.addListener(_handleAnimationProgressChanged); |
| 89 | 89 |
| 90 visibleCardIndices = new List.generate(cardHeights.length, (i) => i); | 90 visibleCardIndices = new List.generate(cardHeights.length, (i) => i); |
| 91 } | 91 } |
| 92 | 92 |
| 93 int _activeCardIndex = -1; | 93 int _activeCardIndex = -1; |
| 94 AnimatedContainer _activeCardTransform; | 94 AnimationBuilder _activeCardTransform; |
| 95 AnimationPerformance _activeCardAnimation; | 95 AnimationPerformance _activeCardAnimation; |
| 96 double _activeCardWidth; | 96 double _activeCardWidth; |
| 97 double _activeCardDragX = 0.0; | 97 double _activeCardDragX = 0.0; |
| 98 bool _activeCardDragUnderway = false; | 98 bool _activeCardDragUnderway = false; |
| 99 | 99 |
| 100 Point get _activeCardDragEndPoint { | 100 Point get _activeCardDragEndPoint { |
| 101 return new Point(_activeCardDragX.sign * _activeCardWidth * _kDismissCardThr
eshold, 0.0); | 101 return new Point(_activeCardDragX.sign * _activeCardWidth * _kDismissCardThr
eshold, 0.0); |
| 102 } | 102 } |
| 103 | 103 |
| 104 void _handleAnimationProgressChanged() { | 104 void _handleAnimationProgressChanged() { |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 return new Scaffold( | 221 return new Scaffold( |
| 222 toolbar: new ToolBar(center: new Text('Swipe Away')), | 222 toolbar: new ToolBar(center: new Text('Swipe Away')), |
| 223 body: new SizeObserver(child: cardCollection, callback: _handleSizeChanged
) | 223 body: new SizeObserver(child: cardCollection, callback: _handleSizeChanged
) |
| 224 ); | 224 ); |
| 225 } | 225 } |
| 226 } | 226 } |
| 227 | 227 |
| 228 void main() { | 228 void main() { |
| 229 runApp(new CardCollectionApp()); | 229 runApp(new CardCollectionApp()); |
| 230 } | 230 } |
| OLD | NEW |