1. 20 Aug, 2015 3 commits
    • Hixie's avatar
      Improvements for Layers logic · 654fc734
      Hixie authored
      - Introduce some new Layer classes.
      - Introduce paintChildWith* methods.
      - Convert paint() methods to use paintChildWith* where appropriate.
      - Fix paintBounds logic in Layer world.
      - Introduce Layer.replaceWith(), so that it's clearer what's going on.
      - Make RenderObjects have a ContainerLayer, not a PictureLayer.
      - Introduce a PaintingContext.replacingLayer() constructor to highlight
        where we are creating a layer just to replace an older one.
      - Rename some layer-related methods and fields for clarity:
         requiresCompositing -> hasLayer
         hasCompositedDescendant -> needsCompositing
         updateCompositing -> updateCompositingBits
         _needsCompositingUpdate -> _needsCompositingBitsUpdate
         markNeedsCompositingUpdate -> markNeedsCompositingBitsUpdate
      - After updating compositing bits, if we find that the bit changed, we
        now call markNeedsPaint().
      - Reorder markNeedsPaint() logic for clarity.
      - Make flushPaint() start at the deepest node.
      - Make _compositeChild() avoid repainting children with hasLayer that
        aren't dirty, instead it just reuses their existing layer.
      - Made RenderView reuse the RenderObject layer instead of having its own.
      - Made RenderView have hasLayer set to true.
      - Add various asserts and comments.
      654fc734
    • 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
    • Adam Barth's avatar
      Fix padding on infinite scrolling list · 72807ef8
      Adam Barth authored
      Rather than using a Padding widget to provide padding along the scrolling axis,
      we now just figure the padding into where we draw the items. This patch fixes
      an issue where we would remove the first topmost item in a scrollable list too
      early because we thought it was already off screen.
      
      Fixes #697
      72807ef8
  2. 19 Aug, 2015 26 commits
  3. 18 Aug, 2015 11 commits