applyRangePadding method
- @override
override
Applies range padding to auto, normal, additional, round, and none types.
Implementation
@override
void applyRangePadding(_VisibleRange range, num interval) {
_min = range.minimum;
_max = range.maximum;
ActualRangeChangedArgs rangeChangedArgs;
if (minimum == null && maximum == null) {
final ChartRangePadding rangePadding =
_calculateRangePadding(this, _chart);
final DateTime minimum = DateTime.fromMillisecondsSinceEpoch(_min);
final DateTime maximum = DateTime.fromMillisecondsSinceEpoch(_max);
if (rangePadding == ChartRangePadding.none) {
_min = minimum.millisecondsSinceEpoch;
_max = maximum.millisecondsSinceEpoch;
} else if (rangePadding == ChartRangePadding.additional ||
rangePadding == ChartRangePadding.round) {
switch (_actualIntervalType) {
case DateTimeIntervalType.years:
_calculateYear(minimum, maximum, rangePadding, interval.toInt());
break;
case DateTimeIntervalType.months:
_calculateMonth(minimum, maximum, rangePadding, interval.toInt());
break;
case DateTimeIntervalType.days:
_calculateDay(minimum, maximum, rangePadding, interval.toInt());
break;
case DateTimeIntervalType.hours:
_calculateHour(minimum, maximum, rangePadding, interval.toInt());
break;
case DateTimeIntervalType.minutes:
_calculateMinute(minimum, maximum, rangePadding, interval.toInt());
break;
case DateTimeIntervalType.seconds:
_calculateSecond(minimum, maximum, rangePadding, interval.toInt());
break;
default:
break;
}
}
}
range.minimum = _min;
range.maximum = _max;
range.delta = range.maximum - range.minimum;
calculateVisibleRange(_axisSize);
/// Setting range as visible zoomRange
if (visibleMinimum != null && visibleMaximum != null) {
_visibleRange.minimum = visibleMinimum.millisecondsSinceEpoch;
_visibleRange.maximum = visibleMaximum.millisecondsSinceEpoch;
_visibleRange.delta = _visibleRange.maximum - _visibleRange.minimum;
_zoomFactor = _visibleRange.delta / range.delta;
}
if (_chart.onActualRangeChanged != null) {
rangeChangedArgs = ActualRangeChangedArgs();
rangeChangedArgs.axis = this;
rangeChangedArgs.axisName = _name;
rangeChangedArgs.orientation = _orientation;
rangeChangedArgs.actualMin = range.minimum;
rangeChangedArgs.actualMax = range.maximum;
rangeChangedArgs.actualInterval = range.interval;
rangeChangedArgs.visibleMin = _visibleRange.minimum;
rangeChangedArgs.visibleMax = _visibleRange.maximum;
rangeChangedArgs.visibleInterval = _visibleRange.interval;
_chart.onActualRangeChanged(rangeChangedArgs);
_visibleRange.minimum = rangeChangedArgs.visibleMin;
_visibleRange.maximum = rangeChangedArgs.visibleMax;
_visibleRange.interval = rangeChangedArgs.visibleInterval;
}
}