| 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 '../mojo/asset_bundle.dart'; |
| 5 import 'basic.dart'; | 6 import 'basic.dart'; |
| 6 | 7 |
| 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 final AssetBundle _iconBundle = new NetworkAssetBundle(Uri.base.resolve(_kAssetB
ase)); |
| 9 | 10 |
| 10 class Icon extends Component { | 11 class Icon extends Component { |
| 11 | 12 Icon({ String key, this.size, this.type: '' }) : super(key: key); |
| 12 Icon({ | |
| 13 String key, | |
| 14 this.size, | |
| 15 this.type: '' | |
| 16 }) : super(key: key); | |
| 17 | 13 |
| 18 final int size; | 14 final int size; |
| 19 final String type; | 15 final String type; |
| 20 | 16 |
| 21 Widget build() { | 17 Widget build() { |
| 22 String category = ''; | 18 String category = ''; |
| 23 String subtype = ''; | 19 String subtype = ''; |
| 24 List<String> parts = type.split('/'); | 20 List<String> parts = type.split('/'); |
| 25 if (parts.length == 2) { | 21 if (parts.length == 2) { |
| 26 category = parts[0]; | 22 category = parts[0]; |
| 27 subtype = parts[1]; | 23 subtype = parts[1]; |
| 28 } | 24 } |
| 29 // TODO(eseidel): This clearly isn't correct. Not sure what would be. | 25 // TODO(eseidel): This clearly isn't correct. Not sure what would be. |
| 30 // Should we use the ios images on ios? | 26 // Should we use the ios images on ios? |
| 31 String density = 'drawable-xxhdpi'; | 27 String density = 'drawable-xxhdpi'; |
| 32 return new NetworkImage( | 28 return new AssetImage( |
| 33 size: new Size(size.toDouble(), size.toDouble()), | 29 bundle: _iconBundle, |
| 34 src: '${kAssetBase}/${category}/${density}/ic_${subtype}_${size}dp.png' | 30 name: '${category}/${density}/ic_${subtype}_${size}dp.png', |
| 31 size: new Size(size.toDouble(), size.toDouble()) |
| 35 ); | 32 ); |
| 36 } | 33 } |
| 37 | |
| 38 } | 34 } |
| OLD | NEW |