- 29 Oct, 2015 1 commit
-
-
Adam Barth authored
In this approach, the hero support is layered on top of the basic navigator functionality.
-
- 28 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 27 Oct, 2015 1 commit
-
-
Adam Barth authored
We still use special-purpose typedefs in the gesture code for symmetry with other gesture callbacks. Fixes #1827
-
- 21 Oct, 2015 1 commit
-
-
Hixie authored
These new PerformanceView classes are transforms over PerformanceViews. The first is a cheap way to tell code that expects a performance to not animate after all, and the other is a way to replace a view of a performance going in one direction with a view of a performance going in the other direction. See also https://github.com/flutter/engine/issues/1708
-
- 20 Oct, 2015 2 commits
-
-
Adam Barth authored
-
Adam Barth authored
-
- 19 Oct, 2015 2 commits
-
-
Hixie authored
Provide a way to schedule a callback for immediately after the current frame has been sent to the GPU thread. This is useful for times where you want to immediately schedule yourself for another build or layout because, for instance, you just displayed frame zero of an animation and you want to use the metrics from that layout to set up the actual animation to begin immediately, such that the very next frame is frame 1.
-
Hixie authored
It turns out that an AnimatedContainer with a BoxDecoration would start animating every single time it was built, whether or not the container's decoration had changed.
-
- 16 Oct, 2015 1 commit
-
-
Hixie authored
(These are all the debugging-related fixes and trivial typo fixes that I extracted out of my heroes branch.) Fix rendering.dart import order. Introduce a debugLabel for Performances so that when you create a performance, you can tag it so that if later you print it out, you can figure out which performance it is. Allow the progress of a PerformanceView to be determined (but not set). Allow subclasses of PerformanceView that are constants to be created by defining a constant constructor for PerformanceView. Introduce a debugPrint() method that throttles its output. This is a test to see if it resolves the problems people have been having with debugDumpRenderTree() et al having their output corrupted on Android. It turns out (according to some things I read On The Internets) that Android only has a 64KB kernel buffer for its logs and and if you output to it too fast, it'll drop data on the floor. If this does in fact reliably resolve this problem, we should probably move the fix over to C++ land (where "print" is implemented) so that any use of print is handled (avoiding the interleaving problem we have now if you use both debugPrint() and print()). Fix a bug with the debugging code for "size". In the specific case of a RenderBox having a parent that doesn't set parentUsesSize, then later the parent setting parentUsesSize but the child having its layout short-circuited (e.g. because the constraints didn't change), we didn't update the _DebugSize object to know that now it's ok that the size be used by the parent, and we'd assert. Also, allow a _DebugSize to be used to set the size of yourself. Previously you could only set your size from a regular Size or from your child's _DebugSize. Add more debugging information to various Widgets where it might be helpful. Make GlobalKey's toString() include the runtimeType so that when subclassing it the new class doesn't claim to be a GlobalKey instance. Include the Widget's key in the Element's description since we don't include it in the detailed description normally (it's in the name part). Fix a test that was returning null from a route.
-
- 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.
-
- 10 Oct, 2015 2 commits
-
-
Adam Barth authored
-
Adam Barth authored
-
- 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.
-
- 07 Oct, 2015 1 commit
-
-
Adam Barth authored
This patch prepares us to create routes that control their performances more closely.
-
- 05 Oct, 2015 4 commits
-
-
Adam Barth authored
This patch simplifies AnimationTiming and all the AnimatedValue base classes. Also, make PopupMenu a stateless component because it has no state. Fixes #1168
-
Adam Barth authored
Fixes #1170
-
Adam Barth authored
This patch converts drawer to using the "openDialog" pattern for managing its state. Currently, the drawer entrance and exit animation aren't integrated with the navigator's animation system because the drawer's animations can be stopped and reversed, which the navigator can't yet understand. That means dismissing the drawer via the system back button causes the drawer to be removed instanteously. Fixes #715 Fixes #1187
-
Adam Barth authored
This patch folds the functionality from AnimatedSimulation into Timeline.
-
- 03 Oct, 2015 4 commits
-
-
Adam Barth authored
Rather than having two objects driving scrolling animations, we now have one object, a Timeline, drive both scrollTo and fling animations. Using Timeline instead of AnimatedSimulation paves the way to removing AnimatedSimulation (which is now used only inside the animation library). Finally, this patch also simplifies (and makes private) _TweenSimulation by using AnimatedValue to do the math.
-
Adam Barth authored
The only client wants a zero-based duration.
-
Adam Barth authored
This patch prepares us to switch to using integers when handing off the animation time from the engine to the framework.
-
Adam Barth authored
We already forced hitting end on 1.0. Fixes #1358
-
- 01 Oct, 2015 2 commits
-
-
Andrew Wilson authored
-
Hans Muller authored
-
- 30 Sep, 2015 1 commit
-
-
Hixie authored
AnimationPerformance had some logic for supporting multiple variables that was hardly ever used. ValueAnimation, a subclass, has logic for handling a single variable. I've removed the logic for handling variables from AnimationPerformance in favour of most call sites instead using ValueAnimation.
-
- 29 Sep, 2015 2 commits
-
-
Hans Muller authored
-
Hans Muller authored
Initial snap offset support for ScrollableWidgetList (and ScrollableList<T>) and ScrollableMixedWidgetList. If a ```toSnapOffset(scrollOffset)``` function is provided, fling Scrolls will coast to the returned value. If ```alignmentOffset``` is specified then fling scrolls conclude when toSnapOffset's value lines up with the Scrollable widget's origin + alignmentOffset. For example if the Scrollable widget's height was 200.0, and alignmentOffset:100.0 was specified, then fling scrolls would end with the value returned by toSnapOffset() lined up with the center of the Scrollable. This approach to Scrollable snapping assumes that the layout of whatever the Scrollable contains is known at the outset. This is often true however a ScrollableMixedWidgetList may not know its items' sizes until they've been reached by scrolling. This is a first cut at snapping support. Among the things that remain to be done: - Scrolling limits trump snapping. Snapping should probably trump scrolling limits. - Drag scrolls aren't snapped. This may be desirable so perhaps the feature should be controlled with a flag. - Specifying alignmentOffset as a percentage would probably be more convenient. - It would be nice if one could wrap items in a SnapOffset value like: ```new SnapOffset(0.5, child: myItem)``` to snap to the center of the item. Updated the CardCollection example: snapping and fixed size items can be turned on/off with Drawer checkboxes.
-
- 22 Sep, 2015 3 commits
-
-
Hans Muller authored
-
Hans Muller authored
-
Hans Muller authored
-
- 18 Sep, 2015 3 commits
-
-
Hixie authored
- Fix AnimationTiming to have defaults for 'interval' and 'curve' since that seems to be how we use it. - Merge RouteBase.build and RouteBase.buildTransition - Get rid of HistoryEntry, since it added nothing - Broke out RouteBase.createPerformance() so subclasses can change what is created. - Build the routes backwards so that we more efficiently avoid building hidden routes. - Introduce an explicit way (!hasContent) for RouteState to avoid building, rather than the implicit "build returns null" we had before.
-
Adam Barth authored
I've also removed the top-level description of the Sky package. Instead, we should host that content on flutter.io.
-
Hixie authored
This fixes #1103.
-
- 16 Sep, 2015 1 commit
-
-
Hixie authored
- Reorder the methods so they are closer to run order. - Reindent the code to match style guide.
-
- 14 Sep, 2015 2 commits
-
-
Hixie authored
Surface all the constructor arguments of AnimationTiming in all its subclasses. Remove some pointless casts. Fix some typos. Put constructors first in class declarations. Remove some blank lines where they just confused the structure of the code.
-
Hixie authored
- Add documentation for AnimationTiming. - typo: defaules -> defaults. - added type information to isWatching() signature. - made Widget.toStringName() include more useful information. - cleaned up StatefulComponent._sync(): more specific signature, change redundant if to else, remove redundant cast. - change order of TransitionBase arguments for consistency. - prevent TransitionBase from affecting the performance in its constructor when it didn't create it (but see #1103). - remove TODO() from @mpcomplete... no, there is not currently a better way to inherit a constructor, unfortunately.
-
- 10 Sep, 2015 1 commit
-
-
Adam Barth authored
Previously, if you used a number of nested Blocks, they'd each try to register drag gesture detectors even though they can't actually scroll. This CL teaches Scrollable to watch for drag gestures only when it can actually scroll.
-
- 08 Sep, 2015 2 commits
-
-
Adam Barth authored
-
Adam Barth authored
Move the animation libraries into src/animation and change importers to use package:sky/animation.dart. Also, move scheduler.dart into the animation library so that the animation library can be self-contained.
-