1. 08 Sep, 2015 1 commit
    • Adam Barth's avatar
      Introduce package:sky/animation.dart · b356d146
      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.
      b356d146
  2. 05 Sep, 2015 1 commit
    • Adam Barth's avatar
      Document and bring sanity to BoxConstraints · 95277953
      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.
      95277953
  3. 04 Sep, 2015 2 commits
    • Hans Muller's avatar
      Add Dismissable unit tests · b02531a9
      Hans Muller authored
      b02531a9
    • Hans Muller's avatar
      Add Dismissable support for DismissDirection · 4e01c054
      Hans Muller authored
      ```
      enum DismissDirection {
        vertical,
        horizontal,
        left,
        right,
        up,
        down
      }
      ```
      
      To only enable dismissing to the right create the `Dismissable` with `direction: DismissDirection.right`. By default direction is `DismissDirection.horizontal` (left or right).
      
      Updated the card_collection "Swipe Away" demo with a drawer that can be used to select one of the three X axis dismiss directions. Currently the MixedViewport class doesn't support horizontal scrolling, so the demo doesn't support the X axis dismiss directions.
      4e01c054
  4. 03 Sep, 2015 1 commit
  5. 02 Sep, 2015 1 commit
  6. 31 Aug, 2015 1 commit
  7. 28 Aug, 2015 2 commits
    • Hixie's avatar
      Rationalise the Key API. · 9047830c
      Hixie authored
      Add a way of having keys based on numeric types or DateTimes by having a ValueKey<T> class.
      Remove the redundant ways of declaring things, except for leaving one shorthand -- you can say `new Key(s)` instead of `new ValueKey<String>(s)`.
      9047830c
    • Adam Barth's avatar
      Use GestureDetector in the framework and examples · dc84e882
      Adam Barth authored
      We're now using it at the widget layer for everything except scrolling and
      flinging.
      dc84e882
  8. 26 Aug, 2015 2 commits
  9. 25 Aug, 2015 1 commit
  10. 24 Aug, 2015 2 commits
    • Adam Barth's avatar
      Mimic should track Mimicable more completely · 7077b1b3
      Adam Barth authored
      We now have Mimic tracking Mimicable through tree structure changes and while
      moving around the screen.
      
      Fixes #751 and #756
      7077b1b3
    • Hans Muller's avatar
      Support ScrollableLists that wrap · c21fcf62
      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.
      c21fcf62
  11. 22 Aug, 2015 1 commit
  12. 21 Aug, 2015 3 commits
  13. 20 Aug, 2015 3 commits
    • Adam Barth's avatar
      Stack squishes positioned elements near the edge · f7aa8323
      Adam Barth authored
      When laying out positioned children inside a stack, we should give them
      unbounded constraints because if they draw outside of the stack, we'll just
      clip them.
      f7aa8323
    • Adam Barth's avatar
      Key should be const · eb1b0333
      Adam Barth authored
      For great constness.
      
      Fixes #693
      eb1b0333
    • Hans Muller's avatar
      Handle changes to scrollDirection in ScrollableList et al · d662f7e6
      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.
      d662f7e6
  14. 19 Aug, 2015 4 commits
    • Hans Muller's avatar
    • Hans Muller's avatar
      Adds PageableList, other scrolling related changes and fixes · 7782a115
      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.
      7782a115
    • Adam Barth's avatar
      Add package:sky/rendering.dart · dea3a092
      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.
      dea3a092
    • Adam Barth's avatar
      Split box.dart into many files · 50bfdedb
      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.
      50bfdedb
  15. 17 Aug, 2015 3 commits
    • Eric Seidel's avatar
      Fix analyzer warnings · d5fe622a
      Eric Seidel authored
      We had a remarkable number of analyzer failures.
      
      I'll fix the bots to analyze across the whole project
      in a follow-up patch, that should prevent this
      in the future.
      
      @abarth
      d5fe622a
    • Adam Barth's avatar
      Rename Widget.root to Widget.renderObject · 91a783bf
      Adam Barth authored
      The name `root` is confusing because this value isn't the root of anything.
      It's just the associated `RenderObject` instance.
      91a783bf
    • Adam Barth's avatar
      Add support for drag-and-drop · ac0ec322
      Adam Barth authored
      Widgets that want to receive drops should include a DropTarget in their build.
      Currently there's no widget for initiating a drag. Components can use the
      DragController directly. In the future, we'll probably want to add a Draggable
      that knows how to do some of this work automatically.
      
      Fixes #612
      ac0ec322
  16. 13 Aug, 2015 2 commits
  17. 11 Aug, 2015 3 commits
    • Hans Muller's avatar
      Adds ensureWidgetIsVisible() function to scrollable.dart · 9e9d845b
      Hans Muller authored
      Set the scrollOffset of a widget's Scrollable ancestor so that the
      widget is centered within the scrollable. A future CL will add
      support for specifying exactly where the widget appears. The scroll
      can be animated by specifying the animation: parameter.
      
      Changed the duration Scrollable.scrollTo() parameter from a Duration
      to an AnimationPerformance so that one can configure all aspects of
      the animation. The caller may also listen to the animation to schedule
      other work while it updates or when its status changes.
      complete
      9e9d845b
    • Hans Muller's avatar
      The IgnorePointer class enables one to cut a widget subtree off from pointer... · d2d9ae13
      Hans Muller authored
      The IgnorePointer class enables one to cut a widget subtree off from pointer events. This is useful when a sibling should not shield pointer events from overlapping siblings below it.
      
      Added a ScrollListener listener to Scrollable. The ScrollListener runs each time the Scrollable's scrollOffset changes. This can be used to keep overlay widgets in sync with a Scrollable below them.
      
      Removed the Scrollable ScrollClient API. It was no longer used and was clumsy to use as a ScrollListener.
      
      Added global function findScrollableAncestor() to scrollable.dart.
      
      Added examples/widgets/overlay_geometry.dart. The app's Scaffold is contained by a Stack. The Stack is used to display green overlay "Markers" at the corners of the most recently selected list item and where the corresponding tap occurred. The app uses widget.localToGlobal() to compute the global overlay positions of the markers. The ScrollListener is used to keep the markers' positions up to date.
      d2d9ae13
    • Ian Fischer's avatar
      pubspec.yaml files for the smaller demos. · 6d19b7a4
      Ian Fischer authored
      6d19b7a4
  18. 08 Aug, 2015 1 commit
  19. 26 Jun, 2015 3 commits
  20. 25 Jun, 2015 1 commit
  21. 24 Jun, 2015 1 commit
  22. 23 Jun, 2015 1 commit