• 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
Name
Last commit
Last update
examples Loading commit data...
packages/flutter Loading commit data...