clause method
CommandClause
clause(
)
override
Implementation
@override
CommandClause clause() {
var processer = Pbita(
command: 'esc',
threshold: _threshold,
compress: _compress,
reverse: _reverse,
);
var info = processer.processWithBytes(Uint8List.fromList(_image));
var fimage = info.result;
if (fimage == null) {
throw Exception('Wrong image data');
}
int width = fimage.width;
int height = fimage.height;
int byteWidth;
if (width % 8 != 0) {
byteWidth = (width / 8 + 1).toInt();
} else {
byteWidth = width ~/ 8;
}
if (_compress) {
return BinaryCommand(header())
.appendNumber((byteWidth ~/ 256))
.appendNumber(byteWidth % 256)
.appendNumber((height ~/ 256))
.appendNumber(height % 256)
.appendNumber((fimage.data.length) >> 24 & 0xff)
.appendNumber((fimage.data.length) >> 16 & 0xff)
.appendNumber((fimage.data.length) >> 8 & 0xff)
.appendNumber((fimage.data.length) & 0xff)
.appendListInt(fimage.data)
.clause();
}
return BinaryCommand(header())
.appendNumber(_mode.getMode())
.appendNumber((byteWidth % 256))
.appendNumber(byteWidth ~/ 256)
.appendNumber((height % 256))
.appendNumber(height ~/ 256)
.appendListInt(fimage.data)
.clause();
}