startZooming method

Future<void> startZooming(
  1. ScaleUpdateDetails details, {
  2. ValueSetter<Exception>? onException,
})

Implementation

Future<void> startZooming(
  ScaleUpdateDetails details, {
  ValueSetter<Exception>? onException,
}) async {
  if (!_hasCamera(onException)) return;

  // When there are not exactly two fingers on screen don't scale
  if (value.pointers != 2) return;

  value = value.copyWith(
    currentScale: (value.baseScale * details.scale)
        .clamp(value.minAvailableZoom, value.maxAvailableZoom),
  );
  await _controller.cameraController!.setZoomLevel(value.currentScale);
}