resolveDataPointOverflow function

ResolvedChartInsets resolveDataPointOverflow(
  1. ChartTransform transform,
  2. ILayoutData dimensions,
  3. Iterable<DataPoint> points
)

Implementation

ResolvedChartInsets resolveDataPointOverflow(ChartTransform transform, ILayoutData dimensions, Iterable<DataPoint> points) {
  var result = const ResolvedChartInsets();

  for (final point in points) {
    final extent = point.extent;
    if (extent == null) continue;
    final resolved = resolveChartInsets(transform, extent);
    final anchor = transform.xy(point.x, point.fy);
    result = result.maxWith(ResolvedChartInsets(
      left: math.max(0.0, resolved.left - anchor.dx),
      top: math.max(0.0, resolved.top - anchor.dy),
      right: math.max(0.0, resolved.right - (dimensions.width - anchor.dx)),
      bottom: math.max(0.0, resolved.bottom - (dimensions.height - anchor.dy)),
    ));
  }

  return result;
}