private void _handleOnScaleUpdate(ScaleUpdateDetails details) { setState(() => { _scale = (_previousScale * details.scale).clamp(1.0f, 4.0f); _offset = _clampOffset(details.focalPoint - _normalizedOffset * _scale); }); }
void _onScaleUpdate(ScaleUpdateDetails scaleUpdateDetails) { this._setScaleAndPosition( this._initialScale * scaleUpdateDetails.scale, this._clampPosition( this._screenToFractional(offset: scaleUpdateDetails.focalPoint) - this._initialPosition * scaleUpdateDetails.scale, this._initialScale * scaleUpdateDetails.scale) ); this._panning = scaleUpdateDetails.scale == 1; }