applyRangePadding method

  1. @override
void applyRangePadding (_VisibleRange range, num interval)
override

Applies range padding to auto, normal, additional, round, and none types.

Implementation

@override
void applyRangePadding(_VisibleRange range, num interval) {
  final num start = range.minimum;
  final num end = range.maximum;
  ActualRangeChangedArgs rangeChangedArgs;
  if (!(minimum != null && maximum != null)) {
    final ChartRangePadding padding = _calculateRangePadding(this, _chart);
    if (padding == ChartRangePadding.additional ||
        padding == ChartRangePadding.round) {
      /// Get the additional range
      _findAdditionalRange(this, start, end, interval);
    } else if (padding == ChartRangePadding.normal) {
      /// Get the normal range
      _findNormalRange(this, start, end, interval);
    } else {
      _updateActualRange(this, start, end, interval);
    }
    range.delta = range.maximum - range.minimum;
  }

  calculateVisibleRange(_axisSize);

  /// Setting range as visible zoomRange
  if (visibleMinimum != null && visibleMaximum != null) {
    _visibleRange.minimum = visibleMinimum;
    _visibleRange.maximum = visibleMaximum;
    _visibleRange.delta = _visibleRange.maximum - _visibleRange.minimum;
  }
  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;
  }
}