arrowFoot property

List<Offset>? get arrowFoot

Implementation

List<Offset>? get arrowFoot {
  if (arrowPoint.dy < location.dy) {
    if (arrowPoint.dx < center.dx) {
      return [
        Offset(location.dx + size.width / 5, location.dy),
        Offset(location.dx + size.width * 2 / 5, location.dy),
      ];
    } else {
      return [
        Offset(location.dx + size.width * 3 / 5, location.dy),
        Offset(location.dx + size.width * 4 / 5, location.dy),
      ];
    }
  }
  if (arrowPoint.dy > location.dy + size.height) {
    if (arrowPoint.dx < center.dx) {
      return [
        Offset(location.dx + size.width * 2 / 5, location.dy + size.height),
        Offset(location.dx + size.width / 5, location.dy + size.height),
      ];
    } else {
      return [
        Offset(location.dx + size.width * 4 / 5, location.dy + size.height),
        Offset(location.dx + size.width * 3 / 5, location.dy + size.height),
      ];
    }
  }
  if (arrowPoint.dx < location.dx) {
    if (arrowPoint.dy < center.dy) {
      return [
        Offset(location.dx, location.dy + size.height * 2 / 5),
        Offset(location.dx, location.dy + size.height / 5),
      ];
    } else {
      return [
        Offset(location.dx, location.dy + size.height * 4 / 5),
        Offset(location.dx, location.dy + size.height * 3 / 5),
      ];
    }
  }
  if (arrowPoint.dx > location.dx + size.width) {
    if (arrowPoint.dy < center.dy) {
      return [
        Offset(location.dx + size.width, location.dy + size.height / 5),
        Offset(location.dx + size.width, location.dy + size.height * 2 / 5),
      ];
    } else {
      return [
        Offset(location.dx + size.width, location.dy + size.height * 3 / 5),
        Offset(location.dx + size.width, location.dy + size.height * 4 / 5),
      ];
    }
  }
  return null;
}