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 '../fn.dart'; | 5 import '../fn.dart'; |
6 | 6 |
7 // TODO(eseidel): This should use package:. | 7 // TODO(eseidel): This should use package:. |
8 const String kAssetBase = '/packages/sky/assets/material-design-icons'; | 8 const String kAssetBase = '/packages/sky/assets/material-design-icons'; |
9 | 9 |
10 class Icon extends Component { | 10 class Icon extends Component { |
11 Style style; | |
12 int size; | 11 int size; |
13 String type; | 12 String type; |
14 | 13 |
15 Icon({ | 14 Icon({ |
16 String key, | 15 String key, |
17 this.style, | |
18 this.size, | 16 this.size, |
19 this.type: '' | 17 this.type: '' |
20 }) : super(key: key); | 18 }) : super(key: key); |
21 | 19 |
22 Node build() { | 20 Node build() { |
23 String category = ''; | 21 String category = ''; |
24 String subtype = ''; | 22 String subtype = ''; |
25 List<String> parts = type.split('/'); | 23 List<String> parts = type.split('/'); |
26 if (parts.length == 2) { | 24 if (parts.length == 2) { |
27 category = parts[0]; | 25 category = parts[0]; |
28 subtype = parts[1]; | 26 subtype = parts[1]; |
29 } | 27 } |
30 | 28 |
31 return new Image( | 29 return new Image(width: size, height: size, |
32 style: style, | 30 src: '${kAssetBase}/${category}/2x_web/ic_${subtype}_${size}dp.png'); |
33 width: size, | |
34 height: size, | |
35 src: '${kAssetBase}/${category}/2x_web/ic_${subtype}_${size}dp.png' | |
36 ); | |
37 } | 31 } |
38 } | 32 } |
OLD | NEW |