TestRenderView enabled

PAINT FOR FRAME #1 ----------------------------------------------
1 | TestPaintingCanvas() constructor: 800.0 x 600.0
------------------------------------------------------------------------

PAINT FOR FRAME #2 ----------------------------------------------
2 | TestPaintingCanvas() constructor: 800.0 x 600.0
2 | paintChild RenderStack at Point(0.0, 0.0)
2 |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  | paintChild RenderScaffold at Point(0.0, 0.0)
2 |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  | paintChild RenderDecoratedBox at Point(0.0, 56.0)
2 |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  | drawRect(Rect.fromLTRB(0.0, 56.0, 800.0, 600.0), Paint(color:Color(0xffe3f2fd)))
2 |  |  |  | paintChild RenderPadding at Point(0.0, 56.0)
2 |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  | paintChild RenderSizeObserver at Point(8.0, 68.0)
2 |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  | paintChild RenderBlockViewport at Point(8.0, 68.0)
2 |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  | save
2 |  |  |  |  |  |  | clipRect(Rect.fromLTRB(8.0, 68.0, 792.0, 588.0))
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 68.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 72.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffe57373), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 72.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 72.0, 788.0, 120.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 72.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 72.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 80.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 83.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 83.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -83.5)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 124.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 128.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffdd7174), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 128.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 128.0, 788.0, 191.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 128.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 128.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 136.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 147.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 147.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -147.0)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 195.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 199.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffd56f76), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 199.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 199.0, 788.0, 281.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 199.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 199.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 207.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 227.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 227.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -227.5)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 285.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 289.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffcd6e78), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 289.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 289.0, 788.0, 435.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 289.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 289.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 297.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 349.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 349.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -349.5)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 439.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 443.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffc56c79), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 443.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 443.0, 788.0, 503.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 443.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 443.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 451.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 460.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 460.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -460.5)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 507.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 511.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffbd6a7b), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 511.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 511.0, 788.0, 566.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 511.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 511.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 519.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 526.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 526.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -526.0)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 570.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderDecoratedBox at Point(12.0, 574.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | drawRRect(Instance of 'RRect', Paint(color:Color(0xffb5697d), drawLooper:true))
2 |  |  |  |  |  |  |  |  | paintChild RenderClipRRect at Point(12.0, 574.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | saveLayer(Rect.fromLTRB(12.0, 574.0, 788.0, 658.0), Paint(color:Color(0xff000000)))
2 |  |  |  |  |  |  |  |  |  | clipRRect()
2 |  |  |  |  |  |  |  |  |  | paintChild RenderConstrainedBox at Point(12.0, 574.0)
2 |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  | paintChild RenderPadding at Point(12.0, 574.0)
2 |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderPositionedBox at Point(20.0, 582.0)
2 |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(367.0, 603.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(367.0, 603.5)
2 |  |  |  |  |  |  |  |  |  |  |  |  |  | translate(-367.0, -603.5)
2 |  |  |  |  |  |  |  |  |  | restore
2 |  |  |  |  |  |  | restore
2 |  |  | paintChild RenderDecoratedBox at Point(0.0, 0.0)
2 |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  | drawRect(Rect.fromLTRB(0.0, 0.0, 800.0, 56.0), Paint(color:Color(0xff2196f3), drawLooper:true))
2 |  |  |  | paintChild RenderPadding at Point(0.0, 0.0)
2 |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  | paintChild RenderFlex at Point(8.0, 0.0)
2 |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  | paintChild RenderConstrainedBox at Point(8.0, 0.0)
2 |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  | paintChild RenderFlex at Point(8.0, 0.0)
2 |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  | paintChild RenderPadding at Point(8.0, 14.0)
2 |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  | paintChild RenderParagraph at Point(32.0, 14.0)
2 |  |  |  |  |  |  |  |  |  | TestPaintingCanvas() constructor: 800.0 x 600.0
2 |  |  |  |  |  |  |  |  |  | translate(32.0, 14.0)
2 |  |  |  |  |  |  |  |  |  | translate(-32.0, -14.0)
------------------------------------------------------------------------
PAINTED 2 FRAMES
