- 12 Mar, 2016 2 commits
-
-
Adam Barth authored
Fixes #774
-
Adam Barth authored
Fixes #581
-
- 08 Mar, 2016 1 commit
-
-
Adam Barth authored
This patch tweaks the definition of max intrinsic size to give implementations more wiggle room to compute there intrinsic sizes more efficiently. Specifically, implementations can now ignore the incomming constraint in the cross axis if they prefer. This patch removes an assert that is no longer valid w.r.t. the new definition of intrinsic sizing. Fixes #2099
-
- 27 Feb, 2016 1 commit
-
-
Hixie authored
-
- 14 Feb, 2016 1 commit
-
-
Ian Hickson authored
...so that it's easier to copy/paste between the rendering and settings layers.
-
- 10 Feb, 2016 1 commit
-
-
Hixie authored
The asserting will continue until morale improves! * Convert all assert(*.isNormalized) checks to use the new debugAssertIsNormalized technology. * Convert CustomMultiChildLayout to use the new RenderingError technology to greatly improve the detail in errors you get when writing CustomMultiChildLayout delegates. * Add BoxConstraints.copyWith(). * Indent the descendants in the rendering exception data dump so that when you have multiple children it's clearer what's going on.
-
- 06 Feb, 2016 1 commit
-
-
Adam Barth authored
This patch includes documentation for transitions.dart and for scrollable.dart.
-
- 05 Feb, 2016 1 commit
-
-
Hixie authored
* Use actual exceptions rather than assertions containing code containing strings when trying to give messages to authors. * Introduce RenderingError which is an AssertionError that takes a string argument, to support the above. * Provide a BoxDimensions.hasBoundedWidth/hasBoundedHeight API. * Document BoxDimensions.isNormalized. * Provide more useful information when we assert isNormalized and find that it is false. * When finding the size is infinite, crawl the tree to figure out which render box is likely responsible for the infinite constraints. * Provide more information when size doesn't match the constraints. * Provide more information when intrinsic dimension methods violate the constraints. * Only spam a huge amount of information for the first exception from the rendering library. I've noticed a lot of people looking at the last exception printed rather than the first and that's very misleading -- after the rendering library hits an exception, all bets are off regarding what'll happen in the future. All kinds of asserts might fire. * Improve docs around the debug methods and flags for the above. * Make Block default to have no children. Previously, giving no children crashed with a confusing message about a null deref in an assert.
-
- 27 Jan, 2016 1 commit
-
-
Hixie authored
-
- 18 Jan, 2016 1 commit
-
-
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
-
- 11 Jan, 2016 2 commits
-
-
Adam Barth authored
We use the ScrollDirection for more than just scrolling. Fixes #151
-
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.
-
- 07 Jan, 2016 2 commits
-
-
Adam Barth authored
We'll probably renaming ScrollDirection to Axis in a future patch. Fixes #151
-
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 1 commit
-
-
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 1 commit
-
-
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.
-
- 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 2 commits
-
-
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
-
- 11 Dec, 2015 1 commit
-
-
Ian Hickson authored
Previously, applyPaintTransform() had to know how it was positioned in its parent, even though that's really the parent's responsibility. Now, applyPaintTransform() is given a child and applies the transform that it would give the child during paint. This makes it possible for applyPaintTransform() to work across coordinate system boundaries (e.g. box to sector, or view to box -- previously, view to box only worked because we explicitly skipped that step -- since view doesn't actually apply a transform, it doesn't really matter).
-
- 10 Dec, 2015 1 commit
-
-
Florian Loitsch authored
-
- 09 Dec, 2015 1 commit
-
-
Ian Hickson authored
Add BoxConstraints.isNormalized feature. Use this feature in asserts in all the intrinsic dimension methods, in various relevant BoxConstraints methods, and in layout(). Wrap the _DebugSize logic in BoxConstraints.constrain() in an assert block to avoid a branch in release mode. Remove the logic in BoxConstraints.isSatisfiedBy() that dealt with non-normalized values. Add BoxConstraints.normalize(). Make RenderCustomOneChildLayoutBox.performLayout() only set parentUsesSize on the child if the constraints aren't tight.
-
- 20 Nov, 2015 1 commit
-
-
Adam Barth authored
This patch improves the repaint strategy for HomogeneousViewport so that the list itself and every entry in the list has a repaint boundary. That means that we only record list items as they enter the view.
-
- 19 Nov, 2015 1 commit
-
-
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
-
- 05 Nov, 2015 1 commit
-
-
Adam Barth authored
Now a RenderBox is considered hit if one of its children are hit or it itself decides that it's hit. In particular, empty space inside a flex won't be hit because none of the children are located there and a RenderFlex doesn't consider itself hittable. Fixes #53 Fixes #1221
-
- 04 Nov, 2015 1 commit
-
-
Hixie authored
- change how we expose settings at the RenderObject layer so that it's easier to maintain. - expose the Widget owner chain in the RenderObject layer debug output - add debug info to RenderOpacity, RenderIgnorePointer, RenderListener - make the output for text nodes prettier
-
- 14 Oct, 2015 1 commit
-
-
Hans Muller authored
Enabled displaying a scrollbar in ScrollingLists. The scrollbar is painted as an "overlay", i.e. it's painted on top of the scrolling list's visible children. Added an abstract Painter base class that encapsulates a paint method and the renderer that it's attached to. RenderBlockViewport and HomogenousViewport now support an overlayPainter property. If specified, RenderBlockViewport attaches itself to the overlayPainter when it's attached to the rendering tree. RenderBlockViewport now calls overlayPainter.paint() after it has painted its children. Added an abstract ScrollingListPainter class that exposes ScrollingList's state which might be needed for painting. Like its scroll direction and scrollOffset. The ScrollingListPainter is notified when a scroll starts and ends. Defined a Material-specific ScrollingListPainter that renders a scrollbar. The scrollbar thumb is faded in/out when the scroll starts/ends. Added onScrollStart and onScrollEnd listeners to Scrollable.
-
- 12 Oct, 2015 1 commit
-
-
Hixie authored
Add type annotations in many places. Fix some identifiers to have more lint-satisfying names. Make all operator==s consistent in style. Reorder some functions for consistency. Make ParentData no longer dynamic, and fix all the code around that.
-
- 09 Oct, 2015 1 commit
-
-
Hixie authored
Now that you import a top-level file for each layer of the Flutter framework, within the framework we can use relative paths without being worried about the copy/pasta problem we used to have.
-
- 01 Oct, 2015 1 commit
-
-
Adam Barth authored
* Moves from vector_math to vector_math_64 * Adds support for Float64List in Dart bindings
-
- 29 Sep, 2015 1 commit
-
-
Hixie authored
Previously, hitTestChildren in RenderBlockViewport just didn't support horizontal scrolling, due to an oversight.
-
- 14 Sep, 2015 1 commit
-
-
Collin Jackson authored
This reverts commit 7592213df29066cd357eaa4fffe4a19ed3bae189.
-
- 11 Sep, 2015 1 commit
-
-
Collin Jackson authored
-
- 09 Sep, 2015 1 commit
-
-
Adam Barth authored
-
- 05 Sep, 2015 1 commit
-
-
Adam Barth authored
Turns out many of the functions on BoxConstraints weren't used or had callers that could easily be updated to other functions. I've added dartdoc to all the public functions as well as renamed some functions that had similar names but did different things.
-
- 02 Sep, 2015 1 commit
-
-
Adam Barth authored
Code outside of package:sky should import this code using package:sky/rendering.dart package:sky/widgets.dart Moving this code into the "src" directory is a convention that signifies that and it cleans up the generated dartdoc because the libraries in the src directory aren't included in the generated documentation. Instead, the classes are documented in the widgets.dart and rendering.dart libraries.
-
- 31 Aug, 2015 1 commit
-
-
Hixie authored
Adds a HomogeneousViewport class that works like MixedViewport but handles only children that have all the same height. Converts ScrollableWidgetList to use that, so that we don't waste a frame looking at the size of the contents each time we change size. This allows a number of seemingly pointless double-pumps in the tests to be removed. Other changes that were necessary to support the above: - RenderBlock now supports minExtent (think 'min-height' in CSS) - RenderBlock now supports itemExtent (forces the height of each child to be the same, so that the itemExtent passed to the fixed- height scrollables are all authoritative instead of a source of bugs when they don't match) - RenderBlockViewport now supports horizontal scrolling - improved the style of the isInfinite assert in box.dart - fixed the position of a comment in mixed_viewport.dart - added a test - made the logic for how many items to show be more precise
-
- 26 Aug, 2015 3 commits
-
-
Hixie authored
The core of MultiChildRenderObjectWrapper.syncRenderObject() could apply to any subclass that uses a flat child list, so this abstracts it out into the superclass. (Also, instead of requiring the callbacks of RenderBlockViewport to constrain their results, we just constrain it for them. Makes things a bit easier for users of that class.)
-
Hixie authored
- add debugDescribeSettings to a few classes that were missing it - fix some minor bugs in RenderShrinkWrapWidth and ShrinkWrapWidth - introduce RenderShrinkWrapHeight and ShrinkWrapHeight
-
Hixie authored
Generalise RenderBlockViewport so that it can be used by a Widget that knows its children's dimensions.
-