paint method
渲染
Implementation
@override
paint(PrinterCanvas canvas, PrinterOffset offset) {
String? displayText = this.getDisplayText(dataSource);
if (displayText == null || displayText.isEmpty) {
return;
}
var actualStyle = style!.extendsStyle(canvas.defaultConfig!.fontStyle!);
var lines = canvas.splitLine(displayText, actualSize!.width!.toInt(),
actualStyle);
int lineHeight = canvas.getTextLineHeight(actualStyle);
int bottom = 0;
int i = 0;
while (bottom + lineHeight < actualSize!.height! && i < lines.length) {
canvas.drawText(
lines[i],
offset.translate(actualOffset!.x!, actualOffset!.y! + bottom),
actualSize!,
actualStyle);
i++;
bottom += lineHeight;
}
}