resolve method
Resolve layout with actual dimensions (e.g., resolve infinity values).
Implementation
@override
IChartLayout resolve(List<ILayoutData> dimensions) {
assert(dimensions.isNotEmpty);
final effectiveMinX = dimensions.map((d) => d.minX).reduce(min);
final effectiveMaxX = dimensions.map((d) => d.maxX).reduce(max);
final effectiveMinY = dimensions.map((d) => d.minY).reduce(min);
final effectiveMaxY = dimensions.map((d) => d.maxY).reduce(max);
final resolvedMinX = minX.isFinite ? minX : effectiveMinX;
final resolvedMaxX = maxX.isFinite ? maxX : effectiveMaxX;
final resolvedMinY = minY.isFinite ? minY : effectiveMinY;
final resolvedMaxY = maxY.isFinite ? maxY : effectiveMaxY;
final finalMinX = resolvedMinX == resolvedMaxX ? resolvedMinX - 1.0 : resolvedMinX;
final finalMaxX = resolvedMinX == resolvedMaxX ? resolvedMaxX + 1.0 : resolvedMaxX;
final finalMinY = resolvedMinY == resolvedMaxY ? resolvedMinY - 1.0 : resolvedMinY;
final finalMaxY = resolvedMinY == resolvedMaxY ? resolvedMaxY + 1.0 : resolvedMaxY;
return RelativeLayout(
minX: finalMinX,
maxX: finalMaxX,
minY: finalMinY,
maxY: finalMaxY,
relativeTo: relativeTo
);
}