- 20 Jan, 2016 1 commit
-
-
Adam Barth authored
There should be no more uses of Performance or AnimatedValue in the framework or the examples.
-
- 19 Jan, 2016 1 commit
-
-
Ian Hickson authored
-
- 18 Jan, 2016 2 commits
-
-
Ian Hickson authored
RenderBlock wasn't constraining the results. RenderPadding wasn't constraining the results (which matters especially when the constraints can't fit the padding in the first place). RenderViewport wasn't constraining the results. Add a test for the block case. To catch this kind of thing in the future, add some asserts to debugDoesMeetConstraints() that all four intrinsic functions return values that are within the constraints. RenderBlockViewport doesn't support returning intrinsics, so turn off the "no intrinsic support" asserts (and return zero) when we're doing this new assert. This new assert screwed up the custom layout classes' tests, so adjust those tests to ignore the callbacks invoked from these asserts. Add to the _debugReportException() method a short summary of the descendants of this node. It's important to have this information when debugging errors like these intrinsic constraints contract violations because often nodes just pass the values through to their child so you have to go several steps down to find the actual problem. Fixes https://github.com/flutter/flutter/issues/1210
-
Ian Hickson authored
Also, some trivial fixes for things that I found while playing with the rendering library directly.
-
- 16 Jan, 2016 1 commit
-
-
Ian Hickson authored
And rootConstraints to configuration. This type and its variable have nothing to do with Constraints. Fixes https://github.com/flutter/flutter/issues/829
-
- 15 Jan, 2016 1 commit
-
-
Seth Ladd authored
-
- 14 Jan, 2016 1 commit
-
-
Hixie authored
Introduces a new Tooltip class. Adds support for tooltips to IconButton and Scaffold. Adds some tooltips to various demos. Also some tweaks to stack.dart that I made before I decided not to go down a "CustomPositioned" route.
-
- 13 Jan, 2016 1 commit
-
-
Adam Barth authored
No you can't hit things inside degenerate transforms. Tranforming from global coordaintes to degenerate local coordinates gives you Point.origin. Also, upgrade vector_math to get a better invert constructor. Fixes #1161 Fixes #1224
-
- 12 Jan, 2016 5 commits
-
-
Adam Barth authored
Also, update callers of deprecated methods.
-
Adam Barth authored
We were painting the contents of the RRect clip at the wrong offset. This patch makes RRect match Rect and Path clips. Fixes #1194
-
Adam Barth authored
Fixes #961
-
Adam Barth authored
We no longer need to pass bounds to SceneBuilder. Instead, the compositor computes these bounds itself from the RTrees in the SkPictures.
-
Adam Barth authored
This patch adds ShaderLayer and makes ShaderMask use it. Fixes #1155
-
- 11 Jan, 2016 7 commits
-
-
Adam Barth authored
The performance overlay is always drawn using the compositor. We should tell the rest of the system that it's going to make a composited layer. Fixes #1177
-
Adam Barth authored
We use the ScrollDirection for more than just scrolling. Fixes #151
-
Adam Barth authored
We don't know how to accuately compute paint bounds in the render tree. Instead, we can rely on the compositor to compute the paint bounds for us if we use OpacityLayer to do our opacity blends. Fixes the shadow when closing the menu in the stocks app.
-
Adam Barth authored
Also, introduce alwaysNeedsCompositing to force the "needs compositing" bit to true without necessarily introducing a ContainerLayer into the layer tree. A future patch will make use of alwaysNeedsCompositing to optimize opacity layers.
-
Ian Hickson authored
-
Ian Hickson authored
- Add an option to enable debugPaintSizeEnabled. - Add an option to enable the StatisticsOverlay. - Add support for the StatisticsOverlay in MaterialApp. - Change the layout behaviour of RenderStatisticsBox: - Give it a zero intrinsic width. - Give it an accurate intrinsic height that depends on the flags set. (Also, move the enum to the rendering/ layer from the widgets/ layer to enable this.) - Make the box automatically size itself full-width and the correct height, so that you can actually embed it (though most of the time you'd just put it in a Stack so this doesn't matter as much, really). - Some style nit fixes in statistics_box.dart.
-
Ian Hickson authored
This makes it more consistent with tightFor(), and also makes it easier to tighten both directions at once when you're not sure you will always do so (e.g. if you have a height and width that might be null, and want to tighten whichever ones aren't null).
-
- 09 Jan, 2016 1 commit
-
-
Ian Hickson authored
- padding is shown in blue with a darker blue around the child - spacing (empty size boxes or padding) is shown in gray - alignment from a RenderPositionedBox is shown with yellow arrows
-
- 08 Jan, 2016 2 commits
-
-
Ian Hickson authored
See: https://github.com/flutter/flutter/issues/1080
-
Adam Barth authored
Previously, we triggered a layout (and hence a repaint) when sliding the draw because we gave the draw loose constraints. The drawer uses an Align to move itself to the proper side of the screen, so it can have tight constraints, which makes it a layout boundary. Also, don't trigger a layout just because the Scaffold rebuilds. There isn't any state in the scaffold custom layout, so it doesn't need to repaint just because we created a new instance of the delegate. Finally, add the debugging infrastructure I used to find these issues.
-
- 07 Jan, 2016 3 commits
-
-
Adam Barth authored
We'll probably renaming ScrollDirection to Axis in a future patch. Fixes #151
-
Ian Hickson authored
- make them all have the same style - make them all include the stack trace last - make them all stop printing if their callback is set (if appropriate, they don't yet all have callbacks)
-
Ian Hickson authored
I think I wanted to use this at some point but ended up going a different direction. Instead, object.dart has a private field that serves a similar purpose.
-
- 06 Jan, 2016 2 commits
-
-
Adam Barth authored
This patch moves PageableList off HomogeneousViewport and onto RenderList and friends, making it match the new ScrollableList.
-
Adam Barth authored
This patch also changed ScrollableList2 to use an Iterable instead of an List for its children. This change lets clients map their underlying data lazily. If the clients actually have a concrete list, we skip the extra copy and grab the child list directly.
-
- 05 Jan, 2016 3 commits
-
-
Adam Barth authored
This patch implements the remaining missing features of ScrollableList2. It should now be nearly a drop-in replacement for ScrollableList. The next patch will switch callers over to the new machinery.
-
Adam Barth authored
Almost none of the clients of ScrollDirection can handle scrolling in both directions. Fixes #151
-
Adam Barth authored
ScrollableList2 uses the same pattern as ScrollableGrid, which requires the client to allocate widgets for every list item but doesn't inflate them unless they're actually needed for the view. It improves on the original ScrollableList by not requiring a rebuild of the whole visible portion of the list when scrolling. In fact, small scrolls can often be handled entirely by repainting.
-
- 04 Jan, 2016 1 commit
-
-
Adam Barth authored
We now support (vertically) scrollable grids with viewporting. If the scroll doesn't reveal any new rows, we execute the scroll with a repaint (i.e., no layout). If the scroll reveals a new row, we trigger a layout to change the set of materialized children in the viewport.
-
- 02 Jan, 2016 3 commits
-
-
Adam Barth authored
This patch make grid layout much more flexible. The behavior is factored out into a GridDelegate that's modeled after the custom layout delegates. The patch includes a MaxTileWidthGridDelegate that implements the old behavior and a FixedColumnCountGridDelegate that implements a grid layout with a fixed number of columns. Fixes #1048
-
Adam Barth authored
Previously we used Position, which makes it harder to accumulate offsets when walking the render tree.
-
Adam Barth authored
When assigning a new overlayPainter, we were detaching the old overlay painter even if the render object itself wasn't attached. Now we only twiddle the attach/detach state of the overlay painter when we're attached ourselves. Fixes #1047
-
- 24 Dec, 2015 1 commit
-
-
Ian Hickson authored
- Add RenderFractionalTranslation, a render box that does a translation based on a FractionalOffset. - Make FractionalOffset more like Offset - dx/dy instead of x/y - add /, ~/, % - add .zero - Add alongOffset and alongSize to FractionalOffset so that you can easily apply FractionalOffset to Offsets and Sizes. (Better name suggestions welcome.) - Add transformHitTests boolean to RenderTransform (also on RenderFractionalTranslation), and to classes based on it. - Remove the fade from Dismissable. We can add it back using the builder-with-child pattern like Draggable if we need it. See #1003 for tha feature request. - Rename a bunch of variables in dismissable.dart. - Change the test for dismissable to not handle leftwards dismisses one pixel different from rightwards dismisses, and cleaned up the resulting effect on the test (mostly making sure we had the right number of pumps, with comments explaining what each one was). Fixes #174.
-
- 20 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 17 Dec, 2015 1 commit
-
-
Hixie authored
Use the same technique for updating compositing bits as layout and painting. This avoids walking the entire rendering tree when all you need to update is a small subtree.
-
- 16 Dec, 2015 2 commits
-
-
Hixie authored
-
Hixie authored
Fixes https://github.com/flutter/flutter/issues/948. I hope.
-