encodeMouseWheelLines function

Uint8List encodeMouseWheelLines({
  1. required int lines,
  2. required bool up,
  3. required int col,
  4. required int row,
  5. required int modeFlags,
})

Batch lines × SGR/X10 wheel reports at col/row (1-based).

Implementation

Uint8List encodeMouseWheelLines({
  required int lines,
  required bool up,
  required int col,
  required int row,
  required int modeFlags,
}) {
  if (lines <= 0) return Uint8List(0);
  final action = up ? MouseAction.scrollUp : MouseAction.scrollDown;
  final out = BytesBuilder(copy: false);
  for (var i = 0; i < lines; i++) {
    final chunk = encodeMouse(0, action, col, row, modeFlags: modeFlags);
    assert(
      chunk != null,
      'encodeMouse returned null for wheel report (modeFlags=$modeFlags)',
    );
    if (chunk != null) out.add(chunk);
  }
  return out.toBytes();
}