Index: sky/sdk/lib/widgets/basic.dart |
diff --git a/sky/sdk/lib/widgets/basic.dart b/sky/sdk/lib/widgets/basic.dart |
index 8832969f2d0c2a622d9b60e673b0f438dc82f01f..76712c11174dbba0c22af2a609942bba7d26e3c1 100644 |
--- a/sky/sdk/lib/widgets/basic.dart |
+++ b/sky/sdk/lib/widgets/basic.dart |
@@ -485,28 +485,32 @@ class Text extends Component { |
} |
class Image extends LeafRenderObjectWrapper { |
- Image({ sky.Image image, this.size }) |
+ Image({ sky.Image image, this.size, this.colorFilter }) |
: image = image, |
super(key: image.hashCode.toString()); // TODO(ianh): Find a way to uniquely identify the sky.Image rather than using hashCode, which could collide |
final sky.Image image; |
final Size size; |
+ final sky.ColorFilter colorFilter; |
- RenderImage createNode() => new RenderImage(image, size); |
+ RenderImage createNode() => new RenderImage(image, size, colorFilter: colorFilter); |
RenderImage get root => super.root; |
void syncRenderObject(Widget old) { |
super.syncRenderObject(old); |
root.image = image; |
root.requestedSize = size; |
+ root.colorFilter = colorFilter; |
} |
} |
class FutureImage extends StatefulComponent { |
- FutureImage({ String key, this.image, this.size }) : super(key: key); |
+ FutureImage({ String key, this.image, this.size, this.colorFilter }) |
+ : super(key: key); |
Future<sky.Image> image; |
Size size; |
+ sky.ColorFilter colorFilter; |
sky.Image _resolvedImage; |
@@ -534,34 +538,44 @@ class FutureImage extends StatefulComponent { |
} |
Widget build() { |
- return new Image(image: _resolvedImage, size: size); |
+ return new Image(image: _resolvedImage, size: size, colorFilter: colorFilter); |
} |
} |
class NetworkImage extends Component { |
- NetworkImage({ String src, this.size }) |
+ NetworkImage({ String src, this.size, this.colorFilter }) |
: src = src, |
super(key: src); |
final String src; |
final Size size; |
+ final sky.ColorFilter colorFilter; |
Widget build() { |
- return new FutureImage(image: image_cache.load(src), size: size); |
+ return new FutureImage( |
+ image: image_cache.load(src), |
+ size: size, |
+ colorFilter: colorFilter |
+ ); |
} |
} |
class AssetImage extends Component { |
- AssetImage({ String name, this.bundle, this.size }) |
+ AssetImage({ String name, this.bundle, this.size, this.colorFilter }) |
: name = name, |
super(key: name); |
final String name; |
final AssetBundle bundle; |
final Size size; |
+ final sky.ColorFilter colorFilter; |
Widget build() { |
- return new FutureImage(image: bundle.loadImage(name), size: size); |
+ return new FutureImage( |
+ image: bundle.loadImage(name), |
+ size: size, |
+ colorFilter: colorFilter |
+ ); |
} |
} |