dataIndexForLocalX static method

int dataIndexForLocalX({
  1. required double localX,
  2. required double beginIndex,
  3. required double itemWidth,
  4. required double spacing,
  5. required int dataLength,
})

Implementation

static int dataIndexForLocalX({
  required double localX,
  required double beginIndex,
  required double itemWidth,
  required double spacing,
  required int dataLength,
}) {
  double itemExtent = itemWidth + spacing;
  if (dataLength <= 0 || itemExtent <= 0) return 0;

  int index = ((localX - itemWidth * 0.5) / itemExtent + beginIndex).round();
  if (index < 0) return 0;
  if (index >= dataLength) return dataLength - 1;
  return index;
}