ingest method

int ingest({
  1. required double dyPx,
  2. required double multiplier,
})

Add pixel delta (already OS-scaled) times multiplier. Returns whole lines crossed this call (signed). Keeps sub-line remainder in remainderPx, matching Alacritty's % height retention.

Implementation

int ingest({required double dyPx, required double multiplier}) {
  if (cellHeight <= 0) return 0;
  _remainderPx += dyPx * multiplier;
  final lines = (_remainderPx / cellHeight).truncate();
  if (lines != 0) {
    _remainderPx -= lines * cellHeight;
  }
  return lines;
}