getPositionRatioFit method

dynamic getPositionRatioFit(
  1. Rect rect
)

Implementation

getPositionRatioFit(Rect rect) {
  var borderRadiusFit = getBorderRadiusFit(rect);
  var arrowWidthFit = getArrowWidthFit(rect);
  var minPositionRatio;
  var maxPositionRatio;
  if (direction == ArrowDirection.left || direction == ArrowDirection.right) {
    minPositionRatio = (borderRadiusFit + 0.5 * arrowWidthFit) / rect.height;
    maxPositionRatio =
        (rect.height - borderRadiusFit - 0.5 * arrowWidthFit) / rect.height;
  } else {
    minPositionRatio = (borderRadiusFit + 0.5 * arrowWidthFit) / rect.width;
    maxPositionRatio =
        (rect.width - borderRadiusFit - 0.5 * arrowWidthFit) / rect.width;
  }
  if (positionRatio < minPositionRatio) {
    return minPositionRatio;
  }
  if (positionRatio > maxPositionRatio) {
    return maxPositionRatio;
  }
  return positionRatio;
}