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:math' as math; | 5 import 'dart:math' as math; |
6 import 'dart:sky' as sky; | 6 import 'dart:sky' as sky; |
7 | 7 |
8 import '../animation/animated_value.dart'; | 8 import '../animation/animated_value.dart'; |
9 import '../animation/curves.dart'; | 9 import '../animation/curves.dart'; |
10 import '../rendering/box.dart'; | 10 import '../rendering/box.dart'; |
11 import '../rendering/flex.dart'; | |
12 import '../rendering/object.dart'; | 11 import '../rendering/object.dart'; |
13 import 'ui_node.dart'; | 12 import 'ui_node.dart'; |
14 import 'wrappers.dart'; | 13 import 'wrappers.dart'; |
15 | 14 |
16 const int _kSplashInitialOpacity = 0x80; | 15 const int _kSplashInitialOpacity = 0x80; |
17 const double _kSplashInitialDelay = 0.0; // we could delay initially in case the
user scrolls | 16 const double _kSplashInitialDelay = 0.0; // we could delay initially in case the
user scrolls |
18 const double _kSplashInitialSize = 0.0; | 17 const double _kSplashInitialSize = 0.0; |
19 const double _kSplashConfirmedVelocity = 0.3; | 18 const double _kSplashConfirmedVelocity = 0.3; |
20 const double _kSplashUnconfirmedVelocity = 0.1; | 19 const double _kSplashUnconfirmedVelocity = 0.1; |
21 | 20 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 canvas.save(); | 92 canvas.save(); |
94 canvas.clipRect(new Rect.fromSize(size)); | 93 canvas.clipRect(new Rect.fromSize(size)); |
95 for (InkSplash splash in _splashes) | 94 for (InkSplash splash in _splashes) |
96 splash.paint(canvas); | 95 splash.paint(canvas); |
97 canvas.restore(); | 96 canvas.restore(); |
98 } | 97 } |
99 super.paint(canvas); | 98 super.paint(canvas); |
100 } | 99 } |
101 } | 100 } |
102 | 101 |
103 class InkWellWrapper extends OneChildRenderObjectWrapper { | 102 class InkWell extends OneChildRenderObjectWrapper { |
104 InkWellWrapper({ UINode child, Object key }) | 103 InkWell({ UINode child, Object key }) |
105 : super(child: child, key: key); | 104 : super(child: child, key: key); |
106 | 105 |
107 RenderInkWell get root { RenderInkWell result = super.root; return result; } | 106 RenderInkWell get root { RenderInkWell result = super.root; return result; } |
108 | 107 |
109 RenderInkWell createNode() => new RenderInkWell(); | 108 RenderInkWell createNode() => new RenderInkWell(); |
110 } | 109 } |
111 | |
112 class InkWell extends Component { | |
113 InkWell({ Object key, this.children }) : super(key: key); | |
114 | |
115 final List<UINode> children; | |
116 | |
117 UINode build() { | |
118 return new InkWellWrapper( | |
119 child: new Flex( | |
120 children, | |
121 direction: FlexDirection.horizontal, | |
122 justifyContent: FlexJustifyContent.center | |
123 ) | |
124 ); | |
125 } | |
126 } | |
OLD | NEW |