zoomIn method

void zoomIn()

Increases the magnification of the plot area.

Implementation

void zoomIn() {
  _stateProperties.canSetRangeController = true;
  final SfCartesianChart chart = _stateProperties.chart;
  final ZoomPanBehaviorRenderer zoomPanBehaviorRenderer =
      _stateProperties.zoomPanBehaviorRenderer;
  zoomPanBehaviorRenderer._zoomingBehaviorDetails.isZoomIn = true;
  zoomPanBehaviorRenderer._zoomingBehaviorDetails.isZoomOut = false;
  final double? zoomFactor =
      zoomPanBehaviorRenderer._zoomingBehaviorDetails.zoomFactor;
  _stateProperties.zoomProgress = true;
  ChartAxisRendererDetails axisDetails;
  bool? needZoom;
  for (int index = 0;
      index < _stateProperties.chartAxis.axisRenderersCollection.length;
      index++) {
    axisDetails = AxisHelper.getAxisRendererDetails(
        _stateProperties.chartAxis.axisRenderersCollection[index]);
    if ((axisDetails.orientation == AxisOrientation.vertical &&
            chart.zoomPanBehavior.zoomMode != ZoomMode.x) ||
        (axisDetails.orientation == AxisOrientation.horizontal &&
            chart.zoomPanBehavior.zoomMode != ZoomMode.y)) {
      if (axisDetails.zoomFactor <= 1.0 && axisDetails.zoomFactor > 0.0) {
        if (axisDetails.zoomFactor - 0.1 < 0) {
          needZoom = false;
          break;
        } else {
          zoomPanBehaviorRenderer._zoomingBehaviorDetails
              .setZoomFactorAndZoomPosition(
                  _stateProperties.chartState, axisDetails, zoomFactor);
          needZoom = true;
        }
      }
      if (chart.onZooming != null) {
        bindZoomEvent(chart, axisDetails, chart.onZooming!);
      }
    }
  }
  if (needZoom ?? false) {
    zoomPanBehaviorRenderer._zoomingBehaviorDetails.createZoomState();
  }
}