setZoom method
Sets the zoom mode and optional custom scale factor.
factor is only meaningful when mode is ZoomMode.custom; it is
ignored otherwise. factor must be positive. Notifies listeners.
Implementation
void setZoom(ZoomMode mode, {double factor = 1.0}) {
assert(factor > 0, 'zoomFactor must be positive, got $factor');
final newFactor = mode == ZoomMode.custom ? factor : _zoomFactor;
if (_zoomMode == mode && newFactor == _zoomFactor) return;
_zoomMode = mode;
_zoomFactor = newFactor;
notifyListeners();
}