performLayout method

  1. @override
dynamic performLayout(
  1. PrinterConstraints constraints,
  2. PrinterCanvas canvas
)
override

布局

Implementation

@override
performLayout(PrinterConstraints constraints, PrinterCanvas canvas) {
  if (printerConfig != null) {
    if (canvas.config != null) {
      canvas.config = printerConfig!.extendsStyle(canvas.config!);
    } else {
      canvas.config = printerConfig;
    }
  }
  for (var fontType in fontTypes) {
    canvas.addFont(fontType);
  }
  super.performLayout(constraints, canvas);
  constraints = PrinterConstraints.loose(actualSize!);
  var maxWidth = actualSize!.width!.isInfinite ? 0 : actualSize!.width;
  var maxHeight = actualSize!.height!.isInfinite ? 0 : actualSize!.height;
  for (var child in children) {
    if (child.isRender) {
      child.performLayout(constraints, canvas);
      maxWidth= Math.max(child.actualSize!.width!, maxWidth!);
      maxHeight= Math.max(child.actualSize!.height!, maxHeight!);
    }
  }
  actualSize = PrinterSize(maxWidth!.toDouble(), maxHeight!.toDouble());
}