onCanvasScaleUpdate method

void onCanvasScaleUpdate(
  1. ScaleUpdateDetails details
)

Implementation

void onCanvasScaleUpdate(ScaleUpdateDetails details) {
  if (canUpdateCanvasModel) {
    _animationController?.repeat();
    _updateCanvasModelWithLastValues();

    double previousScale = transformScale;

    transformPosition += details.focalPoint - _lastFocalPoint;
    transformScale = keepScaleInBounds(details.scale, _baseScale);

    var focalPoint = (details.localFocalPoint - transformPosition);
    var focalPointScaled = focalPoint * (transformScale / previousScale);

    _lastFocalPoint = details.focalPoint;

    transformPosition += focalPoint - focalPointScaled;

    _animationController?.reset();
  }
}