• A
    Add an internal_nodes_canvas to PaintContext. (#6728) · 387ca2ef
    Amir Hardon 提交于
    When we visit a PlatformViewLayer during the paint traversal it replaces
    the PaintContext's canvas with a new one that is painted ontop of the
    embedded view.
    We need to make sure that operations applied by parent layers are also
    applied to the new canvas.
    
    To achieve this we collect all the canvases in a SkNWayCanvas and use
    this canvas by non leaf nodes. Leaf nodes still paint only to the "current"
    canvas.
    
    This PR moves the overlay canvas creation from the paint phase to the
    preroll phase, collects them into a SkNWayCanvas and set it in
    PaintContext.
    
    To keep this PR focused, I only used the internal_nodes_canvas in the
    tranform_layer.
    Will followup with a PR that changes all internal layers to use the
    internal_nodes_canvas.
    387ca2ef
rasterizer.cc 10.7 KB