1. 29 Oct, 2015 1 commit
  2. 28 Oct, 2015 1 commit
  3. 27 Oct, 2015 1 commit
  4. 21 Oct, 2015 1 commit
  5. 20 Oct, 2015 2 commits
  6. 19 Oct, 2015 2 commits
    • Hixie's avatar
      requestPostFrameCallback() · ed195cfa
      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.
      ed195cfa
    • Hixie's avatar
      Stop AnimatedContainer from animating every build · 552f26d7
      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.
      552f26d7
  7. 16 Oct, 2015 1 commit
    • Hixie's avatar
      Sundry debugging aids and fixes · d0d84e16
      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.
      d0d84e16
  8. 12 Oct, 2015 1 commit
    • Hixie's avatar
      Lots of trivial warning fixes · f2cc43a4
      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.
      f2cc43a4
  9. 10 Oct, 2015 2 commits
  10. 09 Oct, 2015 1 commit
    • Hixie's avatar
      Relative paths in internal flutter libraries · 37bda251
      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.
      37bda251
  11. 07 Oct, 2015 1 commit
  12. 05 Oct, 2015 4 commits
    • Adam Barth's avatar
      Give Interval a Curve to apply between start and end · 3a31f5f7
      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
      3a31f5f7
    • Adam Barth's avatar
      Improves names of animation classes · 3f82552d
      Adam Barth authored
      Fixes #1170
      3f82552d
    • Adam Barth's avatar
      Convert Drawer to using navigator · 49c47876
      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
      49c47876
    • Adam Barth's avatar
      Remove AnimatedSimulation · 5cb00100
      Adam Barth authored
      This patch folds the functionality from AnimatedSimulation into Timeline.
      5cb00100
  13. 03 Oct, 2015 4 commits
    • Adam Barth's avatar
      Simplify Scrollable animations · 49aba0cc
      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.
      49aba0cc
    • Adam Barth's avatar
      Make Ticker start ticking at zero Duration · 203e6fd7
      Adam Barth authored
      The only client wants a zero-based duration.
      203e6fd7
    • Adam Barth's avatar
      Switch scheduler over to Duration · db191e96
      Adam Barth authored
      This patch prepares us to switch to using integers when handing off the
      animation time from the engine to the framework.
      db191e96
    • Adam Barth's avatar
      Force AnimatedVariables to hit begin on 0.0 · 34238dd8
      Adam Barth authored
      We already forced hitting end on 1.0.
      
      Fixes #1358
      34238dd8
  14. 01 Oct, 2015 2 commits
  15. 30 Sep, 2015 1 commit
    • Hixie's avatar
      Simplify AnimationPerformance · 3b62185f
      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.
      3b62185f
  16. 29 Sep, 2015 2 commits
    • Hans Muller's avatar
    • Hans Muller's avatar
      SnapOffsets for fling Scrolling · 7385641f
      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.
      7385641f
  17. 22 Sep, 2015 3 commits
  18. 18 Sep, 2015 3 commits
    • Hixie's avatar
      Allow route transitions to be more flexible · d4dd786b
      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.
      d4dd786b
    • Adam Barth's avatar
      Lift docs from Markdown to dartdoc · 62458b7b
      Adam Barth authored
      I've also removed the top-level description of the Sky package. Instead, we
      should host that content on flutter.io.
      62458b7b
    • Hixie's avatar
      Require that you pass transitions a performance. · e73bbd94
      Hixie authored
      This fixes #1103.
      e73bbd94
  19. 16 Sep, 2015 1 commit
  20. 14 Sep, 2015 2 commits
    • Hixie's avatar
      Clean up animation-related files. · 69fcc408
      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.
      69fcc408
    • Hixie's avatar
      Code cleanup · 61f8651c
      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.
      61f8651c
  21. 10 Sep, 2015 1 commit
  22. 08 Sep, 2015 2 commits