- 25 Aug, 2015 5 commits
-
-
Adam Barth authored
If there aren't any items, there's no point in computing which items to show.
-
Hans Muller authored
-
Adam Barth authored
We now compute which items to show using integers instead of floating point, avoiding rounding errors.
-
Hixie authored
I updated everything in widgets/, but didn't update any examples.
-
Hixie authored
-
- 24 Aug, 2015 6 commits
-
-
Hixie authored
...rather than the stack trace at the time the RenderObjectWrapper updates the RenderObject. Also, hide some of the debug-only fields behind "debug" prefixes and assert()s.
-
Hixie authored
- Catch exceptions closer to the source. - Factor out exception printing code. - Have widget library hand the rendering library some context when syncing RenderObjectWrappers to aid with debugging. - Fix a bug in flex.dart whereby _overflow was compared when null.
-
Adam Barth authored
We now have Mimic tracking Mimicable through tree structure changes and while moving around the screen. Fixes #751 and #756
-
Collin Jackson authored
-
Hans Muller authored
Adds itemsWrap:bool (default false) to ScrollableList and PageableList. If itemsWrap is true then scrolling past the last item wraps around to the first. Similarly, scrolling before the first item wraps around to the last. Added abstract ExtentScrollBehavior of ScrollBehavior. Renamed fields called contentsExtents to contentExtent, containerExtents to containerExtent, contentSize to contentExtent, etc. BoundedBehavior is now a subclass of ExtentScrollBehavior. Added UnboundedBehavior subclass of ExtentScrollBehvaior; contentExtent and maxScrollOffset are double.INFINITY, minScrollExtent is double.NEGATIVE_INFINITY.
-
Adam Barth authored
This lets clients listen for when a widget with a given global key goes through a sync operation. We'll need this for mimic to track its mimicable when it moves around the tree.
-
- 22 Aug, 2015 3 commits
-
-
Adam Barth authored
These widgets were designed in CSS where you need to specify a layout model for your children. This patch updates them to the modern style of just taking a unique child. Fixes #755
-
Adam Barth authored
-
Adam Barth authored
- Introduce _setScrollOffset as a backend for the animations so that scrollTo can stop animations. - Create a single function that stops both kinds of scroll animations. - Refactor how we update the bounds for bounded scroll behaviors so that we update the bounds and compute the new scroll offset at the same time.
-
- 21 Aug, 2015 5 commits
-
-
Adam Barth authored
Block -> BlockBody ScrollableBlock -> Block FixedHeightScrollable -> ScrollableWidgetList VariableHeightScrollable -> ScrollableMixedWidgetList BlockViewport -> MixedViewport
-
Adam Barth authored
-
Adam Barth authored
Fixes #743
-
Collin Jackson authored
-
Collin Jackson authored
-
- 20 Aug, 2015 9 commits
-
-
Hixie authored
-
Hixie authored
This also changes the way we insert nodes into a MultiChildRenderObjectWrapper's renderObject, which fixes issue #626. Now, instead of the slot being a renderObject, it's the Widget that currently uses that renderObject. That way when the Widget changes which renderObject to use, the siblings of that Widget in the same child list don't have to be notified of the change. I tested performance of the new algorithm vs the old algorithm using the stocks demo at idle and the stocks demo scrolling steadily. The data suggests the algorithms are roughly equivalent in performance.
-
Adam Barth authored
Rationalizes this name with walkChildren.
-
Adam Barth authored
This function just calls remove(). Also, have Widget do the recursive remove walk by calling walkChildren.
-
Hans Muller authored
-
Adam Barth authored
For great constness. Fixes #693
-
Adam Barth authored
We now use the term `renderObject`. Fixes #708
-
Hans Muller authored
Changed the pageable_list.dart example: tapping on the toolbar changes the scroll direction. This exposed some problems: - Scrollable.syncFields() didn't update scrollDirection - Viewport updated its RenderObject fields in the wrong order - FixedHeightScrollable scrollDirection changes didn't update the scrollBehavior There may be similar problems with VariableHeightList and ScrollableViewport. I will fix those in a separate CL.
-
Adam Barth authored
Rather than using a Padding widget to provide padding along the scrolling axis, we now just figure the padding into where we draw the items. This patch fixes an issue where we would remove the first topmost item in a scrollable list too early because we thought it was already off screen. Fixes #697
-
- 19 Aug, 2015 11 commits
-
-
Hixie authored
- Clarify comment about RenderObjectWrapper. - Assert that we never sync a RenderObjectWrapper with an instance of a different type. - Assert that MultiChildRenderObjectWrapper subclasses always have multi-child RenderObjects. - Assert that renderObject doesn't change identity when syncing. - Make searchForOldNode() return void since the return value is ignored. - Remove code that handled renderObject changing during sync.
-
Hixie authored
Fixes the Stocks crash on startup.
-
Adam Barth authored
Fixes tests.
-
Adam Barth authored
Fixes the tests because previously we wouldn't draw any box decorations.
-
Hans Muller authored
-
Hans Muller authored
- PageableList extends ScrollableList One fixed width or height item is visible and centered at a time. Fling and drag gestures scroll to the next/previous item. - Scrollable.scrollTo(), Scrollable.scrollBy(), ensureWidgetIsVisible() API changed The named animation parameter for these methods was replaced by duration and curve. All of the methods now return a Future. The Future completes when the scroll does. This change eliminates the need for Scrollable to temporarily take ownership of a ValueAnimation object (see #645). - Using Future.then() instead of an AnimationPerformance status listener In ensure_visible.dart _handleTap() uses ensureWidgetIsVisible() to center the card roughly as before and then. When the implicit scroll animation is complete, it changes the centered card's label font. The change is made when the Future returned by ensureWidgetIsVisible() completes. - FixedHeightScrollable's itemHeight parameter is now itemExtent If scrollDirection is ScrollDirection.vertical (the default) then itemExtent should be the height of each item; otherwise it should be the width of each item. Replaced _velocityForFlingGesture() in scrollable.dart with Scrollable._eventVelocity() The original version clamped pixels/ms against pixels/sec constants. The new version also deals with scrollDirection. - Plumbed scrollDirection though FixedHeightScrollable and ScrollableList Both classes should now support horizontal scrolling.
-
Adam Barth authored
This feature lets you create effects similar to the "outline" property in CSS.
-
Ian Hickson authored
-
Adam Barth authored
Similar to widgets.dart, rendering.dart exports the entire rendering layer. Also, update the examples to use rendering.dart and widgets.dart. Also clean up some exports so that the examples have more sensible imports.
-
Adam Barth authored
Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up into several files based on the class hierarchy. Fortunately, many of these classes are loosely coupled to each other.
-
Adam Barth authored
When given a null image, RenderImage should be as small as possible (isntead of being NaNxNaN). Also, plumb ImageFit and ImageRepeat through the various image widgets.
-
- 18 Aug, 2015 1 commit
-
-
Adam Barth authored
This CL inflates the padding of Container to account for the borders so that the borders are allocated space in the layout and don't draw behind the Container's child.
-