build method

  1. @override
Widget build (
  1. BuildContext context
)
override

The build function used to intercept and measure the build cycle.

Implementation

@override
Widget build(BuildContext context) {
  log("measuredSize build $context");
  _saveContext = context;
  WidgetsBinding.instance.addPostFrameCallback((_) {
    log("measuredSize.post ${_saveContext.size} $offstage ${_saveContext.runtimeType}");
    if (offstage) {
      RenderObject ro = (_saveContext as Element).renderObject;
      bool bVisited = false;
      ro.visitChildren((_) {
        //log("measureSize.visitChildren ${_.runtimeType}");
        if (_ is RenderBox && !bVisited) {
          //log("visitChildren size ${_.hasSize} ${_.size} ${_.paintBounds}");
          bVisited = true;
          callback(_.size);
        }
      });
    } else {
      callback(_saveContext.size);
    }
  });
  return child;
}