zoomTo method
Zooms to a specific scale.
Implementation
void zoomTo(double scale, [Offset? focalPoint]) {
final clampedScale = scale.clamp(minScale, maxScale);
if (focalPoint != null) {
final scaleDiff = clampedScale / _transform.scale;
_transform = ZoomTransform(
scale: clampedScale,
translateX:
focalPoint.dx - (focalPoint.dx - _transform.translateX) * scaleDiff,
translateY:
focalPoint.dy - (focalPoint.dy - _transform.translateY) * scaleDiff,
);
} else {
_transform = _transform.copyWith(scale: clampedScale);
}
notifyListeners();
}