printQRCode method

  1. @override
Future<int> printQRCode(
  1. String data, {
  2. ImageWidth? width,
  3. ImageAlignment? imageAlignment,
})
override

Implementation

@override
Future<int> printQRCode(String data,
    {ImageWidth? width, ImageAlignment? imageAlignment}) async {
  if (width == null && imageAlignment == null) {
    final ret = await methodChannel.invokeMethod(
        PluginFunctionInterfaceConstants.PRINTER_PRINT_QR_CODE, data);
    return ret;
  } else if (width != null && imageAlignment == null) {
    int widthValue = width.id;
    final ret = await methodChannel.invokeMethod(
        PluginFunctionInterfaceConstants.PRINTER_PRINT_QR_CODE_WIDTH,
        {"data": data, "width": widthValue});
    return ret;
  } else if (width == null && imageAlignment != null) {
    final ret = await methodChannel.invokeMethod(
        PluginFunctionInterfaceConstants.PRINTER_PRINT_QR_CODE, data);
    return ret;
  } else {
    int imageAlignmentValue = imageAlignment!.id;
    int widthValue = width!.id;
    final ret = await methodChannel.invokeMethod(
        PluginFunctionInterfaceConstants
            .PRINTER_PRINT_QR_CODE_WIDTH_IMAGE_ALIGNMENT,
        {
          "data": data,
          "width": widthValue,
          "image_alignment": imageAlignmentValue
        });
    return ret;
  }
}