import 'package:json_annotation/json_annotation.dart'; part 'bluetooth_print_model.g.dart'; @JsonSerializable(includeIfNull: false) class BluetoothDevice { BluetoothDevice(); String? name; String? address; int? type = 0; bool? connected = false; factory BluetoothDevice.fromJson(Map json) => _$BluetoothDeviceFromJson(json); Map toJson() => _$BluetoothDeviceToJson(this); } @JsonSerializable(includeIfNull: false) class LineText { LineText( {this.type, //text,barcode,qrcode,image(base64 string) this.content, this.size = 0, this.align = ALIGN_LEFT, this.weight = 0, //0,1 this.width = 0, //0,1 this.height = 0, //0,1 this.fontZoom = 1, this.underline = 0, //0,1 this.linefeed = 0, //0,1 this.x = 0, this.relativeX = 0, this.y = 0}); static const String TYPE_TEXT = 'text'; static const String TYPE_BARCODE = 'barcode'; static const String TYPE_QRCODE = 'qrcode'; static const String TYPE_IMAGE = 'image'; static const int ALIGN_LEFT = 0; static const int ALIGN_CENTER = 1; static const int ALIGN_RIGHT = 2; /// print type ,inculde['text','barcode','qrcode','image'] final String? type; /// ['text','barcode','qrcode','image'] need print content final String? content; /// ['qrcode'] qrcode size ,only when type is qrcode final int? size; /// ['text'] text align final int? align; /// ['text'] double final int? weight; final int? width; final int? height; /// ['text'] font zoom level, 1 normal, >1 double size final int? fontZoom; /// ['text'] show underline final int? underline; /// ['text'] print linebreak final int? linefeed; /// ['text'] absolute position from line begin final int? x; /// ['text'] relative position from last content final int? relativeX; final int? y; factory LineText.fromJson(Map json) => _$LineTextFromJson(json); Map toJson() => _$LineTextToJson(this); }