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 '../fn2.dart'; | 5 import '../fn2.dart'; |
6 import '../rendering/box.dart'; | 6 import '../rendering/box.dart'; |
7 import '../painting/shadows.dart'; | 7 import '../painting/shadows.dart'; |
8 import '../theme2/colors.dart'; | 8 import '../theme2/colors.dart'; |
9 import 'dart:sky' as sky; | 9 import 'dart:sky' as sky; |
10 import 'ink_well.dart'; | 10 import 'ink_well.dart'; |
11 import 'material.dart'; | 11 import 'material.dart'; |
12 | 12 |
13 const double _kSize = 56.0; | 13 const double _kSize = 56.0; |
14 | 14 |
15 class FloatingActionButton extends Component { | 15 class FloatingActionButton extends Component { |
16 UINode content; | |
17 int level; | |
18 | 16 |
19 FloatingActionButton({ Object key, this.content, this.level: 0 }) | 17 FloatingActionButton({ Object key, this.content, this.level: 0 }) |
20 : super(key: key); | 18 : super(key: key); |
21 | 19 |
| 20 UINode content; |
| 21 int level; |
| 22 |
22 UINode build() { | 23 UINode build() { |
23 List<UINode> children = []; | 24 List<UINode> children = []; |
24 | 25 |
25 if (content != null) | 26 if (content != null) |
26 children.add(content); | 27 children.add(content); |
27 | 28 |
28 return new Material( | 29 return new Material( |
29 content: new CustomPaint( | 30 content: new CustomPaint( |
30 callback: (sky.Canvas canvas) { | 31 callback: (sky.Canvas canvas) { |
31 const double radius = _kSize / 2.0; | 32 const double radius = _kSize / 2.0; |
32 sky.Paint paint = new sky.Paint()..color = Red[500]; | 33 sky.Paint paint = new sky.Paint()..color = Red[500]; |
33 var builder = new ShadowDrawLooperBuilder() | 34 var builder = new ShadowDrawLooperBuilder() |
34 ..addShadow(const sky.Size(0.0, 5.0), | 35 ..addShadow(const sky.Size(0.0, 5.0), |
35 const sky.Color(0x77000000), | 36 const sky.Color(0x77000000), |
36 5.0); | 37 5.0); |
37 paint.setDrawLooper(builder.build()); | 38 paint.setDrawLooper(builder.build()); |
38 canvas.drawCircle(radius, radius, radius, paint); | 39 canvas.drawCircle(radius, radius, radius, paint); |
39 }, | 40 }, |
40 child: new Container( | 41 child: new Container( |
41 width: _kSize, | 42 width: _kSize, |
42 height: _kSize, | 43 height: _kSize, |
43 child: new InkWell(children: children))), | 44 child: new InkWell(children: children))), |
44 level: level); | 45 level: level); |
45 } | 46 } |
| 47 |
46 } | 48 } |
OLD | NEW |