scale property

double get scale

Escala calculada (automática para dimension, manual para factor)

Implementation

double get scale {
  if (_type == ScaleType.factor) {
    return _factor;
  } else {
    // ScaleType.dimension - calcula baseado na tela atual vs base
    if (_currentScreenSize == null || _baseDimension == null) {
      return 1.0;
    }

    final scaleX = _currentScreenSize!.width / _baseDimension!.width;
    final scaleY = _currentScreenSize!.height / _baseDimension!.height;

    // Usa a menor escala para garantir que tudo caiba
    final calculatedScale = (scaleX < scaleY) ? scaleX : scaleY;

    // 🔒 IMPORTANTE: No modo dimension, nunca pode ser menor que 1.0
    final finalScale = calculatedScale < 1.0 ? 1.0 : calculatedScale;

    return finalScale;
  }
}