performLayout method
布局
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());
}