scale property

double get scale

Implementation

double get scale {
  if (mainBodySize.isEmpty) return 1;

  double scaleW = editorBodySize.width / mainBodySize.width;
  double scaleH = editorBodySize.height / mainBodySize.height;

  double scaleOldDifferenceW = mainBodySize.width / mainImageSize.width;
  double scaleOldDifferenceH = mainBodySize.height / mainImageSize.height;

  bool stickOnHeightOld =
      mainBodySize.aspectRatio > mainImageSize.aspectRatio;
  bool stickOnHeightNew =
      editorBodySize.aspectRatio > mainImageSize.aspectRatio;

  double scaleStickSize = stickOnHeightNew != stickOnHeightOld
      ? (stickOnHeightOld ? scaleOldDifferenceW : scaleOldDifferenceH)
      : 1;
  double scaleImgSize = stickOnHeightNew ? scaleH : scaleW;

  return scaleImgSize * scaleStickSize;
}