| 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 '../animation/animated_value.dart'; | 5 import '../animation/animated_value.dart'; |
| 6 import '../animation/curves.dart'; | 6 import '../animation/curves.dart'; |
| 7 import '../fn2.dart'; | 7 import '../fn2.dart'; |
| 8 import '../theme2/colors.dart'; | 8 import '../theme2/colors.dart'; |
| 9 import '../theme2/shadows.dart'; | 9 import '../theme2/shadows.dart'; |
| 10 import 'animated_component.dart'; | 10 import 'animated_component.dart'; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 if (velocityX < _kMinFlingVelocity) | 82 if (velocityX < _kMinFlingVelocity) |
| 83 return; | 83 return; |
| 84 | 84 |
| 85 double targetPosition = direction < 0.0 ? -_kWidth : 0.0; | 85 double targetPosition = direction < 0.0 ? -_kWidth : 0.0; |
| 86 double distance = (targetPosition - position.value).abs(); | 86 double distance = (targetPosition - position.value).abs(); |
| 87 double duration = distance / velocityX; | 87 double duration = distance / velocityX; |
| 88 | 88 |
| 89 if (distance > 0) | 89 if (distance > 0) |
| 90 position.animateTo(targetPosition, duration, curve: linear); | 90 position.animateTo(targetPosition, duration, curve: linear); |
| 91 } | 91 } |
| 92 |
| 92 } | 93 } |
| 93 | 94 |
| 94 class Drawer extends AnimatedComponent { | 95 class Drawer extends AnimatedComponent { |
| 95 List<UINode> children; | |
| 96 int level; | |
| 97 DrawerController controller; | |
| 98 | |
| 99 double _position; | |
| 100 | 96 |
| 101 Drawer({ | 97 Drawer({ |
| 102 Object key, | 98 Object key, |
| 103 this.controller, | 99 this.controller, |
| 104 this.children, | 100 this.children, |
| 105 this.level: 0 | 101 this.level: 0 |
| 106 }) : super(key: key) { | 102 }) : super(key: key) { |
| 107 animate(controller.position, (double value) { | 103 animate(controller.position, (double value) { |
| 108 _position = value; | 104 _position = value; |
| 109 }); | 105 }); |
| 110 } | 106 } |
| 111 | 107 |
| 108 List<UINode> children; |
| 109 int level; |
| 110 DrawerController controller; |
| 111 |
| 112 double _position; |
| 113 |
| 112 UINode build() { | 114 UINode build() { |
| 113 Matrix4 transform = new Matrix4.identity(); | 115 Matrix4 transform = new Matrix4.identity(); |
| 114 transform.translate(_position); | 116 transform.translate(_position); |
| 115 | 117 |
| 116 double scaler = _position / _kWidth + 1; | 118 double scaler = _position / _kWidth + 1; |
| 117 Color maskColor = new Color.fromARGB((0x7F * scaler).floor(), 0, 0, 0); | 119 Color maskColor = new Color.fromARGB((0x7F * scaler).floor(), 0, 0, 0); |
| 118 | 120 |
| 119 var mask = new EventListenerNode( | 121 var mask = new EventListenerNode( |
| 120 new Container(decoration: new BoxDecoration(backgroundColor: maskColor)), | 122 new Container(decoration: new BoxDecoration(backgroundColor: maskColor)), |
| 121 onGestureTap: controller.handleMaskTap, | 123 onGestureTap: controller.handleMaskTap, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 134 return new EventListenerNode( | 136 return new EventListenerNode( |
| 135 new StackContainer( | 137 new StackContainer( |
| 136 children: [ mask, content ] | 138 children: [ mask, content ] |
| 137 ), | 139 ), |
| 138 onPointerDown: controller.handlePointerDown, | 140 onPointerDown: controller.handlePointerDown, |
| 139 onPointerMove: controller.handlePointerMove, | 141 onPointerMove: controller.handlePointerMove, |
| 140 onPointerUp: controller.handlePointerUp, | 142 onPointerUp: controller.handlePointerUp, |
| 141 onPointerCancel: controller.handlePointerCancel | 143 onPointerCancel: controller.handlePointerCancel |
| 142 ); | 144 ); |
| 143 } | 145 } |
| 146 |
| 144 } | 147 } |
| OLD | NEW |