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

Unified Diff: sky/sdk/lib/widgets/basic.dart

Issue 1236043004: Improve drawer performance (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: cache paint 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/sdk/lib/rendering/box.dart ('k') | sky/sdk/lib/widgets/drawer_item.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
+ );
}
}
« no previous file with comments | « sky/sdk/lib/rendering/box.dart ('k') | sky/sdk/lib/widgets/drawer_item.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698