1. 09 Apr, 2016 1 commit
  2. 05 Apr, 2016 1 commit
    • Adam Barth's avatar
      Adds a first draft of LazyBlock · 618e7e49
      Adam Barth authored
      LazyBlock is intended as a replacement for MixedViewport. Rather than
      
      maintaining a table of all the observed child sizes (like
      
      MixedViewport), LazyBlock works by dead reckoning the location of the
      
      children based on the existing viewport. This approach makes it easier
      
      to resize children because LazyBlock doesn't cache any additional
      
      information that would need to be invalidated.
      
      
      
      This patch contains a first draft of LazyBlock that works in a simple
      
      usage scenario. Subsequent patches will replace
      
      ScrollableMixedWidgetList with LazyBlock and port the existing
      
      ScrollableMixedWidgetList tests over to LazyBlock.
      
      
      
      Related to #3075
      618e7e49
  3. 23 Mar, 2016 1 commit
    • Adam Barth's avatar
      Scrollable physics should be reasonable when sizes change · f7f1259b
      Adam Barth authored
      Previously, when the content extent changed during a scroll interaction, we'd
      stop the current scroll interaction and reset the scroll offset. Now we try to
      continue the scroll interaction (e.g., drag, fling, or overscroll) even through
      the underlying scroll behavior has changed.
      
      For physics-based scroll interactions, we keep the current position and
      velocity and recompute the operative forces. For drag interactions, we keep the
      current position and continue to let the user drag the scroll offset.
      
      After this patch, we still disrupt non-physical scroll animations that are
      operating outside the new scroll bounds because it's not clear how we can
      sensibly modify them to work with the new scroll bounds.
      f7f1259b
  4. 14 Mar, 2016 1 commit
  5. 13 Mar, 2016 1 commit
  6. 12 Mar, 2016 6 commits
  7. 11 Mar, 2016 1 commit
  8. 06 Mar, 2016 1 commit
  9. 04 Mar, 2016 1 commit
  10. 12 Feb, 2016 1 commit
    • Hixie's avatar
      SizeObserver crusade: snap alignment · fd7be69d
      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.
      fd7be69d
  11. 11 Feb, 2016 1 commit
    • Ian Hickson's avatar
      Clean up imports and exports. · a94999ba
      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.
      a94999ba
  12. 10 Feb, 2016 2 commits
  13. 09 Feb, 2016 1 commit
  14. 06 Feb, 2016 1 commit
    • Adam Barth's avatar
      Remove HomogeneousViewport · 5b896694
      Adam Barth authored
      The virtual viewport machinery now handles all of these use cases.
      Previous clients of ScrollableWidgetList can use ScrollableLazyList
      instead.
      5b896694
  15. 21 Jan, 2016 1 commit
  16. 14 Jan, 2016 1 commit
    • Adam Barth's avatar
      Stocks has both tabs reified in the wiget tree · b5ed355b
      Adam Barth authored
      We were recomputing which widgets to show only when we were on the other side
      of the repaint boundaries. That doesn't work well for pageable lists because we
      come to rest exactly on a repaint boundary, which means we don't cull the other
      page.
      
      After this patch, we recompute the set of widgets using an edge-trigger when we
      hit the boundary. That's better than using a level-trigger so that we don't
      continuously recompute the set of widget as we sit at the boundary.
      b5ed355b
  17. 11 Jan, 2016 1 commit
  18. 06 Jan, 2016 1 commit
  19. 10 Dec, 2015 3 commits
  20. 09 Dec, 2015 1 commit