Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: sky/sdk/lib/widgets/icon.dart

Issue 1217593004: Teach Icon to use an AssetBundle (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: upload again Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/sdk/lib/widgets/basic.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 }
OLDNEW
« no previous file with comments | « sky/sdk/lib/widgets/basic.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698