- 27 Feb, 2016 2 commits
-
-
Hixie authored
-
Adam Barth authored
Previously we would elide forward and reverse callbacks that canceled each other out, which broke the expected state machine. Now we synchronously deliver status callbacks when start an animation. Fixes #1913
-
- 26 Feb, 2016 1 commit
-
-
Adam Barth authored
Now onScroll callbacks are always bracketed by onScrollStart and onScrollEnd callbacks. Fixes #1822
-
- 25 Feb, 2016 5 commits
-
-
Hixie authored
Also: - add operator==/hashCode/toString to ViewportDimensions - add toString to BindingBase - add toString and debugFillDescription to ScrollBehavior - fix a bug in the RawGestureDetectorState's replaceGestureRecognizers - rename MixedViewport's onExtentsUpdate to onExtentChanged - replace ExtentsUpdateCallback with ValueChanged<double> - remove a microtask for dispatching scroll start, since it did not appear to have any purpose - added dartdocs to Instrumentation until I understood it - made all event dispatch in Instrumentation drain microtasks
-
Adam Barth authored
There's no reason to make clients supply a PointerRounter and a GestureArena when constructing gesture recognizers. These objects are statics and the gesture recognizers can just grab them directly. Also, remove the callback constructor arguments. Almost no code used them. Instead, people seem to prefer using the `..` operator to set callbacks on the recognizers. Removing the arguments removes a bunch of boilerplate.
-
Hixie authored
Otherwise, changing the order of your children (e.g. shuffling a list of children) will have no visible effect.
-
Adam Barth authored
Currently the interface for recognizing gestures on text spans is pretty ugly, but hopefully we can improve it with time. Fixes #156
-
Adam Barth authored
We forgot to compare the lengths of the lists.
-
- 24 Feb, 2016 3 commits
-
-
Eric Seidel authored
One bug was masking the other, hence they both needed to be fixed and tested separately. @Hixie
-
Adam Barth authored
Now we just have one TextSpan class that handles both simple strings, trees of children, and styling both. This approach simplifies the interface for most clients. This patch also removes StyledText, which was weakly typed and tricky to use correctly. The replacement is RichText, which is strongly typed and uses TextSpan.
-
Hans Muller authored
-
- 21 Feb, 2016 2 commits
-
-
Adam Barth authored
This helper makes it easier to write correct tests that involve gestures. Fixes #1855
-
Adam Barth authored
We should mutate the status of the AnimationController before calling the status callbacks so that we're prepared to be re-entered. Fixes #1911
-
- 14 Feb, 2016 2 commits
-
-
Adam Barth authored
We were using an Offset, which represented pixels/second, but it wasn't clear to clients whether that was pixels/ms. Now we use a Velocity class that is explict about the units. Fixes #1510 Fixes #785
-
-
- 13 Feb, 2016 2 commits
-
-
Adam Barth authored
Our examples have been growing organically over time. This patch cleans them up to illustrate specific aspects of Flutter.
-
Hixie authored
-
- 12 Feb, 2016 4 commits
-
-
Adam Barth authored
Previously we had totally wrong behavior. Now we have more correct behavior and testing. Fixes #1808
-
Hixie authored
Remove the SizeObserver you need to use snap alignment in lists by having the lists provide the size themselves in the callback. Also, remove snapAlignmentOffset since we couldn't figure out how to explain it and it's not really needed.
-
Hixie authored
I'm guessing the recent changes to the bindings fixed this crash. Closes https://github.com/flutter/flutter/issues/248.
-
Hixie authored
...even after winning the arena.
-
- 11 Feb, 2016 4 commits
-
-
Hixie authored
This lets it cooperate with other gestures like tap. The way I implemented this was to refactor the entire Draggable gesture logic to use a new kind of gesture detector called MultiDragGestureRecognizer. It works a bit like MultiTapGestureRecognizer but for drags. Also some tweaks to the velocity estimator.
-
Jason Simmons authored
(see https://github.com/flutter/flutter/issues/1586)
-
Ian Hickson authored
Each layer is supposed to reexport the parts of the previous layer that are part of its API. - In painting.dart, export from dart:ui all the Canvas-related APIs that make sense to be used at higher levels, e.g. PaintingStyle. - Delete painting/shadows.dart. It was dead code. - In rendering/object.dart, export all of painting.dart. - In widgets/basic.dart, export all of painting.dart and animation.dart. Some classes in animation/ are renamed to make this less disruptive and confusing to the namespace. - Split out Stocks back into an import model rather than a part model, so that it's easier to manage its dependencies on a per-file basis. - Move Ticker to scheduler library. - Remove as many redundant imports as possible now. - Some minor nit picking cleanup in various files.
-
Adam Barth authored
This patch fixes a couple minor bugs and cleans up MixedViewport a bit.
-
- 10 Feb, 2016 5 commits
-
-
Adam Barth authored
We need to subtract the padding instead of adding it.
-
Adam Barth authored
Fixes #1730
-
Adam Barth authored
-
Adam Barth authored
-
Hixie authored
Factor out the HitTestBehavior logic so that RenderMetaData can use it. Use that in DragTarget.
-
- 09 Feb, 2016 4 commits
-
-
Adam Barth authored
This patch teaches block how to anchor its scrolling to the end rather than the start. Fixes #136
-
Adam Barth authored
These classes now share more code and have feature parity.
-
Hixie authored
The "leaf merge" feature was getting confused when we reset the SemanticsNode. We now separately track whether the node itself is marked as being merged vs whether we inherited that state, and we don't reset the inherited state until you're reattached or reserialised. In the latter case, we do a "just in time" clearing of the flag just like we previously did a "just in time" setting of the flag, except now the flag we're setting or clearing is the inherited flag not the actual flag.
-
Adam Barth authored
-
- 06 Feb, 2016 1 commit
-
-
Adam Barth authored
The virtual viewport machinery now handles all of these use cases. Previous clients of ScrollableWidgetList can use ScrollableLazyList instead.
-
- 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.
-
- 04 Feb, 2016 2 commits
- 03 Feb, 2016 2 commits
-
-
Adam Barth authored
People writing their own tests will want to mock services as well.
-
Adam Barth authored
We need to check whether we're attached to the keyboard before trying to detach from the keyboard.
-