printBarCode static method

Future<void> printBarCode(
  1. String data, {
  2. SunmiBarcodeType barcodeType = SunmiBarcodeType.CODE128,
  3. int height = 81,
  4. int width = 4,
  5. SunmiBarcodeTextPos textPosition = SunmiBarcodeTextPos.TEXT_ABOVE,
})

printBarCode

With this method you can print a barcode with any type discribed below or in the enum section

Implementation

static Future<void> printBarCode(String data,
    {SunmiBarcodeType barcodeType = SunmiBarcodeType.CODE128,
    int height = 81,
    int width = 4,
    SunmiBarcodeTextPos textPosition =
        SunmiBarcodeTextPos.TEXT_ABOVE}) async {
  int _codeType = 8;
  int _textPosition = 8;
  switch (barcodeType) {
    case SunmiBarcodeType.UPCA:
      _codeType = 0;
      break;
    case SunmiBarcodeType.UPCE:
      _codeType = 1;
      break;
    case SunmiBarcodeType.JAN13:
      _codeType = 2;
      break;
    case SunmiBarcodeType.JAN8:
      _codeType = 3;
      break;
    case SunmiBarcodeType.CODE39:
      _codeType = 4;
      break;
    case SunmiBarcodeType.ITF:
      _codeType = 5;
      break;
    case SunmiBarcodeType.CODABAR:
      _codeType = 6;
      break;
    case SunmiBarcodeType.CODE93:
      _codeType = 7;
      break;
    case SunmiBarcodeType.CODE128:
      _codeType = 8;
      break;
  }

  switch (textPosition) {
    case SunmiBarcodeTextPos.NO_TEXT:
      _textPosition = 0;
      break;
    case SunmiBarcodeTextPos.TEXT_ABOVE:
      _textPosition = 1;
      break;
    case SunmiBarcodeTextPos.TEXT_UNDER:
      _textPosition = 2;
      break;
    case SunmiBarcodeTextPos.BOTH:
      _textPosition = 3;
      break;
  }
  Map<String, dynamic> arguments = <String, dynamic>{
    "data": data,
    'barcodeType': _codeType,
    'textPosition': _textPosition,
    'width': width,
    'height': height
  };
  await _channel.invokeMethod("PRINT_BARCODE", arguments);
}