pack method
Packs the page layout data for transmission to a device.
Implementation
Uint8List pack() {
if (!isRasterized) {
throw Exception('Page must be rasterized before packing.');
}
final offsets = Uint8List(_lines.length * 4);
for (int i = 0; i < _lines.length; i++) {
final line = _lines[i];
offsets[4 * i] = line.xOffset >> 8;
offsets[4 * i + 1] = line.xOffset & 0xFF;
offsets[4 * i + 2] = line.yOffset >> 8;
offsets[4 * i + 3] = line.yOffset & 0xFF;
}
return Uint8List.fromList([
0xFF, // Header byte
layout.width >> 8,
layout.width & 0xFF,
layout.height >> 8,
layout.height & 0xFF,
_sprites.length & 0xFF,
...offsets,
]);
}