paint method

  1. @override
dynamic paint(
  1. PrinterCanvas canvas,
  2. PrinterOffset offset
)
override

渲染

Implementation

@override
paint(PrinterCanvas canvas, PrinterOffset offset) {
  var value = getValue(this.dataSource);
  if (value == null) {
    return;
  }
  if (showText) {
    int textHeight = canvas.getTextLineHeight(canvas.config!.fontStyle!);

    var barcodeHeight = actualSize!.height! - textHeight;
    canvas.drawBarCodeForSize(value, offset + actualOffset!,
        PrinterSize(actualSize!.width, barcodeHeight), lineWidth);

    canvas.drawText(
        value,
        offset + actualOffset!.translate(0, barcodeHeight),
        PrinterSize(actualSize!.width, textHeight.toDouble()),
        canvas.config!.fontStyle!.copyWith(align: AlignEnum.center));
  } else {
    canvas.drawBarCodeForSize(content, actualOffset!, actualSize!);
  }
}