insertN method
void
insertN(
- int index,
- int count
)
override
Implementation
void insertN(int index, int count) {
// start
// +--------------------------|-----------------------------------+
// | | |
// +--------------------------\--\--------------------------------+ end
// \ \
// \ \
// v v
// +--------------------------|--|--------------------------------+
// | | | |
// +--------------------------|--|--------------------------------+ end
// start start+offset
final moveStart = index * _cellSize64Bit;
final moveOffset = count * _cellSize64Bit;
final bufferEnd = _maxCols * _cellSize64Bit;
// move data forward
final cells = _cells.buffer.asInt64List();
for (var i = bufferEnd - moveOffset - 1; i >= moveStart; i--) {
cells[i + moveOffset] = cells[i];
}
// set inserted cells to 0
for (var i = moveStart; i < moveStart + moveOffset; i++) {
cells[i] = 0x00;
}
}