- 20 Nov, 2015 5 commits
-
-
Adam Barth authored
Callback identity is too fragile for CustomPaint
-
Adam Barth authored
Many of the widgets that use CustomPaint were spamming repaints because CustomPaint repaints when the identity of the onPaint callback changes, which it does every build for StatelessComponents. This patch changes CustomPaint to use a CustomPainter, similar to the new custom layout widgets. The CustomPainter has a `shouldRepaint` function along with its `paint` function. This function gives clients explicit control over when the custom paint object repaints.
-
Tony Gentilcore authored
Add a FractionalOffset alignment parameter to BackgroundImage
-
Tony Gentilcore authored
-
Adam Barth authored
Add a repaint rainbow to help debug repaint issues
-
- 19 Nov, 2015 23 commits
-
-
Adam Barth authored
The repaint raindbow tints each recording with a rotating set of colors so you can see which pixels are repainting each frame.
-
Adam Barth authored
Add debugDumpLayerTree to dump the layer tree
-
Adam Barth authored
To help debugging issues with the layer tree.
-
Adam Barth authored
Re-enable support for debugPaintLayerBordersEnabled
-
Viktor Lidholt authored
Removes demo game from repository (it's now in its own repo)
-
Adam Barth authored
We lost this feature at some point. This patch brings it back.
-
Viktor Lidholt authored
-
Misha Dynin authored
Introduced ImageProvider for asynchronously loading images.
-
Adam Barth authored
Some paint functions were using canvas.save/restore around children
-
Misha Dynin authored
Updated image cache to use any ImageProvider instance. Renamed RawImage to AsyncImage and updated the interface to use any ImageProvider instance.
-
Adam Barth authored
This pattern breaks when using compositing because we need to lift those operations into the compositing tree. This patch removes all the ones I could find and adds an assert to help prevent more from getting introduced. Fixes #191
-
Adam Barth authored
Refactor PaintingContext
-
Adam Barth authored
This patch simplifies PaintingContext with several goals: 1) We now call a callback instead of assuming the caller has a single child to paint. This change will let us handle render objects that wish to paint more than one child. 2) We now avoid creating lots of empty picture layers because we don't eagerly start recording pictures. Instead, we wait for the first caller to touch the canvas before creating the picture recorder. 3) We now are more consistent about which values have incorporated the painting offset.
-
Eric Seidel authored
Point to Github issues instead of flutter.io
-
Eric Seidel authored
Fixes #489. @sethladd
-
Adam Barth authored
Popup menu in Stocks throws exception
-
Adam Barth authored
Previously, we were putting a ForcedLayer just below the overlay, but that causes trouble for routes like the popup menu that want to position themselves inside the overlay. Instead, I've moved the ForcedLayer down into ModalRoute. Also, rename ForcedLayer to RepaintBoundary, which is more descriptive of what this widget does. Fixes #485
-
Adam Barth authored
Add `alignment` to image widgets
-
Adam Barth authored
We already had the code to implement this feature. We just needed to plumb it out to the widget API.
-
Ian Hickson authored
Snackbar Refactor
-
Hixie authored
"showSnackBar()" is now a feature of a Scaffold. To get to a Scaffold you either use a global key (`scaffoldKey.currentState.showSnackBar(...)`), or you use `Scaffold.of(context)`. Snack bars no longer have a route. They are entirely managed by the Scaffold. Fixes #432. Snack bars now queue up when you have several of them. Fixes #374. Snack bars now auto-size themselves around their contents. This is step one towards implementing multiline snack bars. Snack bars now self-dismiss after some per-snackbar configurable period. The self-dismissing pauses while a dialog is up above the snackbar (or anything that uses ModalRoute). To enable this, there's now a `ModalRoute.of(context)` API that returns the current ModalRoute, and you will be rebuilt if you asked for this and the route's "current" status changes. To implement this, the Navigator now rebuilds unconditionally any time it pushes or pops a route. Snack bars now use the curves that Android uses for snack bars. Snack bar contents now fade in.
-
Adam Barth authored
Reduce paint time for Stocks drawer animation by 88%
-
Adam Barth authored
Now we use a forced layer around the reprojected content of the drawer, which means we don't have to re-record it during the slide animation. This saves 2ms per frame. The total main-thread time for the drawer animation is now 2.0ms.
-
- 18 Nov, 2015 12 commits
-
-
Adam Barth authored
Reduce record time in Stocks drawer animation by 55%
-
Adam Barth authored
Now we use a ForcedLayer in the navigator overlay to cache the recording for each entry in the overlay. This mechanism just caches the display list, not the underlying pixels. Also, remove the "dispose" notification in the Layer tree because it was disposing layer too eagerly. We don't actually need this notification for anything other than eagerly freeing some C++ memory.
-
Hans Muller authored
Corrected Card resting elevation, tabs example toolbar Fixes #411
-
Hans Muller authored
-
Adam Barth authored
Switch from ui.tracing to dart:Developer Timeline
-
Adam Barth authored
This change will let us remove the tracing interface from dart:ui and also makes these timeline events show up in Observatory.
-
Hans Muller authored
Update Material shadow rendering Shadows now render as three seprate MaskFilter.blur components per the most recent Material spec. The shadows Map was replaced by a similar Map called elevationToShadow with entries that match the 10 elevations specifed by http://www.google.com/design/spec/what-is-material/elevation-shadows.html. The "level" property (many classes) is now called "elevation", to match the Material spec. BoxShadow now includes a spreadRadius parameter - as in CSS box-shadow. Renamed the BoxShadow blur property to blurRadius to further align BoxShadow with CSS box-shadow.
-
Adam Barth authored
Handle adb error cases more gracefully
-
Hans Muller authored
Shadows now render as three seprate MaskFilter.blur components per the most recent Material spec. The shadows Map was replaced by a similar Map called elevationToShadow with entries that match the 10 elevations specifed by http://www.google.com/design/spec/what-is-material/elevation-shadows.html. The "level" property (many classes) is now called "elevation", to match the Material spec. BoxShadow now includes a spreadRadius parameter - as in CSS box-shadow. Renamed the BoxShadow blur property to blurRadius to further align BoxShadow with CSS box-shadow.
-
Adam Barth authored
We now print a sensible message if we can't find `dart` or `adb`. Also, we print a sensible message if the device isn't authorized. Fixes #380 Fixes #358
-
Adam Barth authored
Improve error message for non-existent asset
-
Adam Barth authored
Import path.dart as path rather than p
-